| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 자바
- 알고리즘
- 기초 개념 잡기
- 배열
- 생성자
- 과장님 죄송했어요
- URL
- 김영한님의 모든 개발자를 위한 HTTP 웹 기술 인강 꼭 들어보세요
- 오블완
- HTTP메시지
- port
- 기본은 충실히
- 이진트리
- Hashtable
- 인터넷 네트워크
- tcp
- queue
- URI
- Stack
- heap
- Class
- 을 통한 웹 브라우저 흐름
- 연결 리스트
- servlet
- 자료구조
- URN
- HTTP
- 객체
- 티스토리챌린지
- array
- Today
- Total
HeadCopter
인터넷 네트워크 관련 정리 본문
IP(인터넷 프로토콜)?
- 송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고 받는데 사용하는 정보 위주의 규약이며,
OSI 네트워크 계층에서 호스트의 주소 지정과 *패킷 분할 및 조립 기능을 담당한다.
- 정보를 주고 받기 위해서는 어디에서 보내는 데이터이고 어디로 보내는건지 알아야 하는데
이런 주소를 우리는 흔히 IP주소라 부른다.
*패킷(Packet)
- pack 과 bucket이 합쳐진 단어로 현재 나의 IP, 전달하고자 하는 목적지 IP로 이루어져있고
이렇게 출발지와 전달하고자 하는 목적지를 정해 놓은 다음 인터넷망에 전달한다.
- 즉, 패킷은 클라이언트에서 IP주소를 확인하여 데이터를 주고 받을 때 사용하는 용어를 뜻한다.
TCP(Transmission Control Protocol)?
- 전송 제어 프로토콜으로 기본적으로 IP와 함께 사용한다 (TCP에 출발지 Port, 목적지 Port, 전송 제어 , 순서 , 검증 정보 등)을 담아 IP 패킷으로 한번 더 감싸서 인터넷망에 전달한다.
- 이렇게 하는 이유는 IP 패킷만으로 전달하면 복잡한 인터넷망에서 정보를 전달할 때 데이터가 누락되거나 ,
전송하고자 하는 데이터들의 순서가 뒤바뀌는 등(요청1, 요청2 순서대로 보냈는데 전달된 데이터는 요청2,요청1 순서대로 온다던지 ?)
이러한 이유로 TCP에서 전송 순서를 보장해주고 전송에 관한 제어와 검증의 수행을 담당한다.
- TCP의 대표적인 특징에는 3-way Handshake가 있다.
3-way Handshake의 역할에는 데이터를 전송하는쪽과 데이터를 받는 쪽이 서로 연결할 준비가 되었다는 것을 알수있고 (논리적으로..실제로는 확실하게 연결되었다 라고 장담하지는 못한다고 한다.)
3-way Handshake 과정은 클라이언트에서 서버에 요청을 보내는 것을 SYN이라 한다.
그럼 서버는 클라이언트에서 보낸 SYN 요청을 받고 요청을 받는 의미의 ACK와 SYN패킷을 다시 클라이언트에 전송하고
클라이언트는 다시 서버에게 ACK를 보냄으로써, 서로 데이터를 주고받을 수 있는 준비를 마치고 데이터가 오갈 수 있게 되는것이다.
3-way Handshake =
{클라이언트 -SYN- 서버 #1
서버 - SYN ,ACK - 클라이언트 #2
클라이언트 ACK - 서버 #3}
이렇게 서로 패킷을 주고받으면 클라이언트에서는 서버가 요청을 받을 수 있는 준비가 되었는지 기다리지 않고 바로 확인할 수 있고 자원을 낭비 하지 않아도 된다.(개인적인 생각입니다 :D )
PORT ?
- 하나의 클라이언트에서 여러개의 서버와 통신을 하게 된다면 각각의 요청을 받은 서버에서는 어떤 요청을 하는지 알수가 없다.
- 그래서 TCP/IP 패킷 정보에 출발지 PORT 와 목적지 PORT를 담아 각각 요청에 맞는 서버를 연결할 수 있게 도와주는 것이 PORT의 역할이다.
( IP가 아파트라 생각하고 PORT는 몇동 몇호인지 구분해준다 라고 생각하자! )
공부를 마치며..
분명 어디에서 들어보고 한번씩 사용했던건데 이런 의미가 있는지 모르고 사용하고 회사를 다녔었다는게 참 .. 오늘도 반성한다.
'개발관련' 카테고리의 다른 글
| 본격! HTTP(2) (0) | 2022.07.14 |
|---|---|
| 본격 ! HTTP(1) (0) | 2022.07.13 |
| 클라이언트 서버 구조 (0) | 2022.07.13 |
| URI, URL, URN 정리와 웹 브라우저 요청 흐름 ! (0) | 2022.07.12 |
| 웹 서버, 웹 애플리케이션 서버 ? (0) | 2022.07.11 |