wasup

인터넷 네트워크 통신) IP, TCP, UDP, Packet, PORT, DNS 본문

IT etc

인터넷 네트워크 통신) IP, TCP, UDP, Packet, PORT, DNS

wasupup 2021. 8. 10. 20:45
반응형

인터넷 통신

IP(Internet Protocol)

: 인터넷 환경에서의 통신 규약

: Network Layer

: 호스트간 통신 담당

IP 프로토콜의 한계

비 연결성

: 대상 서버가 패킷을 받을 수 있는 상태인지 모름.

: 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송되는데 상태 확인이 불가함.

비 신뢰성

: 중간에 사라지거나 순서대로 오지 않는경우

: 데이터를 여러개의 조각들로 나눈것이 패킷인데 순서가 뒤죽박죽일 때 해결 불가

-> 이것을 해결해주는 것이 TCP프로토콜.

구분성

: 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상인경우


Packet

: 인터넷 내에서 데이터를 보내기 위한 경로배정을 효율적으로 하기 위해 데이터를 여러개의 조각들로 나누어 전송하는데 이 조각들이 패킷이다.

: 원래 우체국에서 취급하는 '소포'를 뜻하는데 화물을 적당한 크기로 분할해 행성지를 표시하는 꼬리표를 붙인 형태이다.

: 데이터 통신에서 말하는 패킷이란 데이터와 호 제어 신호가 포함된 2진수(비트)그룹을 말한다.

: 패킷교환 방식에서 데이터를 전송할 때 패킷이라는 기본 전송 단위로 데이터를 분해하려 전송한 뒤 다시 원래의 데이터로 재조립하여 처리한다.

IP 패킷 정보

: 출발지 IP, 목적지 IP

TCP/IP 패킷 정보

: 출발지 IP, 목적지 IP - IP 패킷

: 출발지 PORT, 목적지 PORT - TCP 세그먼트

: 전송제어, 순서, 검증정보 - TCP 세그먼트

: 전송 데이터


* 패킷이나 데이터그램은 비슷한 의미로 사용되는데, TCP와 비슷한 역할의 프로토콜인 UDP에서는 패킷이라는 용어 대신 데이터그램이라고 부른다.


  인터넷 프로토콜 스택 4계층
애플리케이션 웹 브라우저 / 네트워크 게임 / 채팅 프로그램
애플리케이션 계층 HTTP, FTP  
OS 전송 계층 TCP, UDP  
인터넷 계층 IP(Internet Protocol)  
네트워크 인터페이스 네트워크 인터페이스 계층 LAN드라이버, LAN장비  

TCP, UDP

TCP

: Transmission Control Protocol - 전송 제어 프로토콜

: TCP를 해석하면 전송을 제어하는 규약이라는 뜻이다.

: 연결형 서비스로 가상 회선 방식을 제공

: 흐름 제어 및 홉잡 제어.

: 높은 신뢰성 보장

: UDP보다 속도가 느림

: 전이중(full-duplex)방식, point to point방식

TCP 특징

: 연결지향 - TCP 3 way handshake(가상 연결)

: 데이터 전달 보증 - 중간에 누락되면 알 수 있다.

: 순서 보장

: 신뢰할 수 있음

TCP 3 way handshake

  1. SYN (접속 요청) : 클라이언트 -> 서버 : 요청을 보냄
  2. SYN (접속 요청) + ACK (요청 수락) : 클라이언트 <-> 서버 : 요청을 수락하면서 접속요청함
  3. ACK (접속 요청) : 클라이언트 -> 서버 : 요청 수락

* 개념적으로 연결된 상태이지 실제 물리적으로 연결된 상태는 아님.

순서 보장

: 클라이언트가 보낸 패킷이 서버에 도착했을 때 만약 순서가 뒤섞여 도착한다면

: 서버에서 클라이언트측으로 순서대로 다시 보내라고 요청


UDP

: User Datagram Protocol - 사용자 데이터그램 프로토콜

: 해석하면 사용자 데이터그램 규약이라는 뜻이다 - 데이터를 데이터 그램 단위로 처리하는 프로토콜

: 데이터 그램이란 독립적인 관계를 지니는 패킷이라는 뜻이다.

: 비 연결형 서비스로 데이터그램 방식을 제공

: 정보를 주고받는 신호절차를 거치지 않음

: 신뢰성이 낮음

: TCP보다 속도가 빠름

: 실시간 서비스(streaming)에 자주 사용됨.

: 연결자체가 없기때문에 서버 소켓과 클라이언트 소켓의 구분이 없음.

: 소켓대신 IP를 기반으로 데이터를 전송함.

: 서버와 클라이언트는 1:1, 1:N, N:M등으로 연결될 수 있음

: 데이터그램(메시지)단위로 전송됨

: 전송되는 크기는 65535바이트이며 초과되는 경우 잘라서 보냄.

: 오류 확인 불가

: 신뢰성보다는 성능이 중요시되는 경우 사용

: 기능이 거의 없다고 보면 된다.

 

* IP와 거의 같다. 단 PORT와 체크섬 정도가 추가되었다. 애플리케이션에서 추가 작업이 필요하다.


PORT

: 모뎀과 컴퓨터 사이에서 데이터를 주고받을 수 있는 통로


만약 한 번에 둘 이상을 연결해야 한다면??

어느 내용을 정확히 어디로 전송해야하는지 구분해야 하는데

이 때 TCP/IP 패킷 정보의 출발지 PORT와 목적지 PORT가 역할을 한다.

 

같은 IP내에서 프로세스 구분은 포트로한다.

 

PORT중에서도 0~65535는 할당 가능한 포트, 0~1023은 잘 알려진 포트로, 사용하지 않는 것이 좋다.


IP(Internet Protocol)

: 인터넷 환경에서의 통신 규약

: Network Layer

: 호스트간 통신 담당

 

* IP는 기억하기 어렵고, 변경될 수 있다.

이런 불편함을 해소하기 위해 DNS를 이용한다.


DNS

: Domain Name System - 도메인 네임 시스템

: 전화번호부 역할을 하며 도메인 명을 IP주소로 변환한다.

DNS Server
도메인 명 아이피
google.com 200.200.200.2
naver.com 210.210.210.1
aaa.com 220.220.220.3

* 사용자는 도메인으로 먼저 접근을 하고 DNS서버는 IP를 응답해준다.

 

: 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 개발됨.

: 네트워크 상에서 컴퓨터들은 IP주소를 이용해 서로를 구별하고 통신함.

: 숫자의 연속적 IP주소를 모두 외울 수 없기 때문에 쉽게 기역할 수 있는 도메인 주소 체계가 만들어짐.

: 1단계 최상위 도메인 : .kr, .jp, .cn

: 2단계 도메인 : .co, .go, .or

: 3단계 도메인 : 이미 등록되어있는 문자열을 제외한 희망문자열

-> 문자열.co.kr


[출처]

 

강의 링크 : 

https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC

 

참고 링크 : 

IP

https://velog.io/@doondoony/ip101

 

UCP, UDP

https://mangkyu.tistory.com/15

 

패킷

http://www.terms.co.kr/packet.htm

 

포트

https://blog.alyac.co.kr/1218

 

도메인

https://xn--3e0bx5euxnjje69i70af08bea817g.xn--3e0b707e/jsp/resources/dns/dnsInfo.jsp

 

 

반응형
Comments