01.인터넷 네트워크
IP(인터넷 프로토콜)
- IP 역할
- 지정한 IP 주소에 데이터 전달
- 패킷이라는 통신 단위로 데이터 전달
- IP 패킷에는 출발지IP, 목적지IP와 같은 주소를 담는다.
- IP의 한계
- 비연결성 : 상대방이 서비스 불능이거나 받을 대상이 없어도 확인이 안된다
- 비신뢰성 : 중간에 데이터가 소실되거나, 패킷이 순서대로 도착 안할수도 있다.
- 데이터의 크기가 크면 패킷을 나눠서 보낸다.
- 패킷은 인터넷망의 여러 노드를 타고 목적지로 도착한다.
- 불규칙하게 노드를 타고 넘어가는데 이럴때 패킷이 순서대로 도착하지 않을 수 있다
- 데이터를 받는 프로그램의 구분X : 같은 IP에서 동작하는 프로그램이 여러개 있으면 IP로 전달 받은 데이터가 어느 프로그램의 데이터인지 알 수가 없음
TCP / UDP
- TCP/IP 계층(4계층)
- 4계층 : 애플리케이션 계층 - HTTP, FTP
- 3계층 : 전송계층 - TCP, UDP
- 2계층 : 인터넷계층 - IP
- 1계층 : 네트워크 접속 계층
- TCP 역할
- 비연결성 해결
- 3 way handshake
- 클라이언트 : SYN(연결요청) 전송
- 서버 : ACK(요청수락) + SYN(연결요청) 전송
- 클라이언트 : ACK(요청수락) 전송
- 비신뢰성 해결
- 패킷이 순서대로 오지 않을 경우 다시 요청
- 1, 2, 3 전송
- 1, 3, 2 순서로 도착
- 2부터 다시 보내라고 요청
- 프로그램 구분
- 출발지PORT와 목적지PORT에 대한 정보를 담아서 보낸다.
- 비신뢰성 해결
- 클라이언트 : ACK(요청수락) 전송
- 비연결성 해결
- UDP
- TCP의 기능을 포함하지 않는다
- 단, PORT에 대한 정보는 포함한다
- 장점 : TCP와 비교하면 전송 속도가 빠르다
PORT
- 역할
- 같은 IP안에 있는 애플리케이션을 구분하는 역할
- IP가 항구의 주소, 위치라고 한다면 PORT는 그 항구안에 있는 배가 정박할 곳의 번호이다.
DNS(도메인 네임 시스템)
- 역할
- 도메인명과 IP를 등록한다.
- 클라이언트는 도메인명만을 기억하고 DNS 서버에 요청하면 IP주소를 반환해 준다.
- 필요 이유
- IP주소를 일일이 기억하기 어렵다.
- IP주소 변경시 알 수가 없다.
출처
- 인프런의 김영한님의 강의를 듣고 정리한 것입니다.