인터넷 네트워크

5o_hyun·2023년 1월 2일
0
post-thumbnail

인터넷 통신

애플리케이션은 소켓 라이브러리를 통해 OS와 통신하여 TCP 정보를 생성하고 IP 패킷을 생성한 다음 LAN 장비들을 통해 서버와 통신한다.

IP

복잡한 인터넷 망을 통해서 미국에 있는 친구한테 메세지를 보내야할때 최소한의 규칙이 존재해야하는데,
IP는 IP주소에 전달할수있도록 정한 어떠한 규칙이다.

  • IP 패킷에는 출발지 IP와 목적지 IP 등이 들어있다.
  • 지정한 IP주소에 데이터 전달
  • 패킷이라는 통신단위로 데이터 전달

IP패킷을 만들어서 인터넷에 던지면, 인터넷 노드끼리 던지고 던지다가, 목적지IP에 던져지는것이다.
목적지에서도 동일하게 던져지며 응답을한다.

그러나 IP패킷에 담는 방식으로만 통신하기엔 한계가있다.

  • 비연결성 : 패킷을 받을 대상의 상태에 관계없이 전송
  • 비신뢰성 : 패킷 전송 확인 불가, 패킷 순서 확인 불가
  • 프로그램 구분 : 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘이상이면?

TCP

앞에서 나온 IP의 문제점을 보완해준다.

미국에 있는 친구한테 hello world라는 메세지는 전달하려고한다.
소켓라이브러리에 메시지를 담는다.
소켓라이브러리가 os에 전달한다.
전송할 데이터에 TCP정보를 씌우고, 이후 IP를 씌워서 IP패킷을 만들어 전송한다.

TCP는 전송 제어 프로토콜이다.

  • 연결지향 TCP 3 way handshake : 연결을 해놓고 전송한다. 연결안되면 전송안함
  • 데이터 전달 보증
  • 순서 보장
  • 신뢰할 수 있는 프로토콜
  • 현재 대부분 TCP 이용

UDP

  • IP와 거의 동일하고 PORT와 체크섬(데이터가 맞는지 검증해주는 데이터) 정도만 추가
  • 애플리케이션에서 추가 작업이 필요

PORT

한 IP에서 여러개의 애플리케이션이 실행될 때 찾아갈 수 있는 주소
IP는 아파트면 PORT는 몇동몇호

DNS

도메인 네임 시스템
자주 바뀌는 IP 주소를 하나의 이름으로 지정한 것
DNS는 전화번호부

profile
학생 점심 좀 차려

0개의 댓글