네트워크를 표현하는 방법은 2가지 (OSI 7 layer와 TCP/IP Stack)가 있음
TCP/IP Stack에서 TCP, UDP은 transport layer에 해당하는 스펙이고
IP는 internet layer에 해당하는 스펙
OSI 7 layer와 TCP/IP stack은 서로 어느정도 호환이 됨
OSI 7 layer에서 TCP, UDP는 transport layer에 해당하는 스펙이고
IP는 network layer에 해당하는 스펙
TCP/IP stack은 2가지로 분류할 수 있음
application layer은 어플리케이션 레벨에서 구현/관리
네트워크 기능을 사용하는데 목적
아래 layer들은 하드웨어/펌웨어, OS 레벨 (시스템 레벨)에서 구현/관리
네트워크 기능을 지원하는데 목적
Port
프로세스가 데이터를 전송하려면 이를 system으로 전송할 수 있는 통로가 필요함
바로 이것이 port!
여러개의 프로세스에서 한개 또는 여러개의 포트를 사용할 수 있기 때문에 포트를 식별할 수 있어야함
서로 다른 2개의 컴퓨터가 인터넷으로 통신 할 때,
internet 프로토콜은 데이터를 보내는 자체에 중점을 둔 프로토콜임
신뢰성은 고려안해서 빠르게 보낼 수 있음
그래서 안정적으로 데이터를 주고 받기 위해 TCP 통신 나옴
TCP를 이용해 위 그림의 두 프로세스가 데이터를 주고받으려면
두 프로세스 사이의 connection을 열고 (이떄 3-way handshake가 일어남)
이 connection 위에서 데이터를 주고 받고,
connection을 닫을 때 할당 받은 자원을 반환하며 4-way handshake가 일어남
데이터를 주고 받기 위해 먼저 connection을 열고 닫는 이유는
프로세스 간의 안정적으로 데이터를 주고 받기 위해서 set up이 필요함
몇가지 set up 을 위해서 connection을 열고 닫음
※ connection-oriented : connection을 열고, 데이터를 주고 받고, connection을 닫는 과정
Socket
그럼 인터넷 상에서 어떻게 port를 유니크하게 식별할까???
바로 소켓을 통해서!
소켓 = IP 주소 + port number
src socket = 보내는 쪽 소켓 (src IP + src port)
dest socket = 받는 쪽 소켓 (dest IP + dest port)
UDP (user datagram protocol)
UDP에서는 연결을 맺지 않고 바로 데이터를 주고 받음
'네트워크' 카테고리의 다른 글
2. 프로토콜과 OSI 7 layer (0) | 2023.07.16 |
---|---|
TCP/IP와 OSI 7계층 (0) | 2023.03.04 |
CORS (Cross Origin Resource Sharing) (0) | 2023.03.04 |
CSRF (Cross Site Request Forgery)란? (0) | 2023.03.04 |
HTTP 상태코드 (0) | 2023.03.04 |