* Port란 무엇인가
시스템에서 데이터를 보내고 받는 데 사용되는 위치를 말한다.
호스트내 실행되고잇는 프로세스를 구분짓기위한 16비트의 논리적할당 0~65536 0~1023까지는 예약되어있음
* 포트번호란?
포트번호는 인터넷이나 기타 다른 네트웍 메시지가 서버에 도착하였을 때, 전달되어야할 특정 프로세스를 인식하기 위한 방법이다. TCP와 UDP에서, 포트번호는 단위 메시지에 추가되는 헤더 내에 넣어지는 16 비트 정수의 형태를 갖는다.
이 포트번호는 논리적으로는 클라이언트와 서버의 전달계층 사이를, 그리고 물리적으로는 전달계층과 인터넷계층 사이를 통과하여, 계속 전달된다.
* 널리 알려진 포트 번호 보기
PC의 모든 포트는 제한이 없어 어떤 프로그램이라도 자유롭게 데이터를 주고 받을 수 있다. 제한이 없는 만큼 밖에서 PC를 공격하는 프로그램이 밀고 들어와도 막을 방법이 없다. 방화벽(Firewall)은 열린 포트를 막아 밖에서 나쁜 프로그램이 침입하지 못하도록 한다. 물론 방화벽이 모든 인터넷 서비스를 막으면 안되니까 80(웹), 21(FTP)번 포트같이 자주 쓰고 믿을 수 있는 포트는 열어 놓는다. 방화벽은 밖에서 들어오는 공격도 막지만 안에서 밖으로 데이터를 보내지 못하도록 막는 일도 해 네트워크 안의 정보가 밖으로 새는 것을 막아준다.
UDP란
UDP는 TCP에 비해 상당히 간단한 프로토콜로서 단순히 데이터를 보내는 역할만 한다. 통신과정에서 데이터가 누락되는 경우가 있을 수 있지만 이룹 데이터가 누락되어도 상관없는 음악, 동영상 스트리밍서비스엥 많이 사용된다.
TCP란
TCP란 트랜스포트 계층의 프로토콜의 하나로서 웹이나 이메일 FTP와 같이 정확한 데이터 전달이 필요한 통신에 사용된다. TCP는 데이터 전송에 신뢰성을 더하기 위해 데이터를 세그먼트로 분할하고 전송속도를 조정하며(흐름제어), 데이터가 제대로 전달되지 않았을경우 재전송을 요청하며 흐름제어 방법으로는 흐름제어에서 볼수 있는 윈도우 슬라이드라는 기법을 사용한다.
Sequence Number : 보낸 데이터 세그먼트의 순서를 유지하기 위한 데이터를 쪼갠 데이터가 몇 번째 데이터인지에 대한 정보가 있다.
Request Number : 수신 측에서 송신측으로 받은 데이터에 대한 응답
Window size : 흐름제어를 할 때 사용한느 윈도우 슬라이드의 크기를 나타낸다.
Checksum : 데이터에 오류가 있는지 검사를 수행한다.
Urgent pointer 위급한 일이 있을 때 알려주는 것.
[ TCP 특징 ]
-
연결형 서비스로 가상 회선 방식을 제공한다.
-
3-way handshaking과정을 통해 연결을 설정하고 4-way handshaking을 통해 해제한다.
-
흐름 제어 및 혼잡 제어.
-
높은 신뢰성을 보장한다.
-
UDP보다 속도가 느리다.
-
전이중(Full-Duplex), 점대점(Point to Point) 방식.
[ UDP 특징 ]
-
비연결형 서비스로 데이터그램 방식을 제공한다.
-
정보를 주고 받을 때 정보를 보내거나 받는다는 신호절차를 거치지 않는다.
-
UDP헤더의 CheckSum 필드를 통해 최소한의 오류만 검출한다.
-
신뢰성이 낮다.
-
TCP보다 속도가 빠르다.
'코딩연습 > 과제' 카테고리의 다른 글
소프트웨어 개발 방법론 (0) | 2019.08.18 |
---|---|
API, RESTful (0) | 2019.08.15 |
10가지 언어들의 특징 (0) | 2019.08.11 |
절대경로 : 상대경로 (0) | 2019.08.04 |
DNS란? (0) | 2019.08.04 |