본문 바로가기
C_C++ 프로그래밍/뇌를 자극하는 TCP_IP

뇌자극 TCP/IP 3강 요약

by RoJae 2019. 5. 19.


1. 소켓에 대하여

2. 서버/클라이언트 모델

3. 인터넷 서비스 포트




소켓이란 무엇인가?


이미 만들어져 있는 소켓 함수를 사용하여 간단하게 데이터를 전송할 수 있다.

TCP/IP 4계층에서 전송계층 위에 놓인다.

전송 계층 위에서 전송계층의 프로토콜 제어를 위한 코드를 제공한다.

소프트웨어 계층이라고 할 수 있다.


전송 계층 위에 있는 프로토콜만 제어하면 된다. (소켓 계층이라고도 불린다)

하지만, 가끔 낮은 계층의 프로토콜을 다룰 때도 있다.



BSD 소켓

기업이 아닌 대학에서 개발하였고 C로 개발이 되었기 때문에 성공했다.

자유롭게 사용하도록 공개됨




소켓이 하는 일

소프트웨어 || (인터넷) || 소프트웨어

------------------------------->

소프트웨어와 소프트웨어를 연결한다.

소프트웨어 간의 데이터 통신을 담당한다.


socket()                                                                                         socket()           

Chrome --------------------------------------------(Internet)--------------------------------- Apache <---> 문서

connect()                                                                                       accept()



모델의 종류

1. 서버 & 클라이언트 모델

서버 : 데이터 관리 서비스 제공 네트워크 프로그램

클라이언트 : 서버에 정보를 요청하는 프로그램

=> 중앙 집중형 정보 제공 방식이다.


2. 매니저 & 에이전트 모델

서버/클라이언트 모델(n:m)과 유사하지만

매니저/에이전트 모델은 1:n 형태이다.


3. Peer To Peer (p2p)

동등 계층 모델이며, 모든 노드가 동등한 자격으로 네트워크에 참여할 수 있다.

훌륭한 모델이지만, 저작권 문제등으로 문제가 되고 있다.

최근에 모바일로 인해서 부상





대부분의 프로그램들이 서버-클라이언트 모델로 개발이 된다. (개발이 쉽기 때문에)

모든 모델들은 차이 없이 소켓으로 통신




포트

어떻게 프로그램을 찾을 수 있을까? => Port(포트)

포트라는 이름은 항구에서 배가 들어오는 항만을 말한다. (port)


서비스 포트 : 자신들이 네트워크에 연결할 때, 할당 받은 포트 번호로 연결이 된다.


HTTP(웹) : 80

FTP : 21

ssh :  22

telent : 23

nameserver : 42

SMTP(Email) : 25



포트 번호 : short int ( 1 - 65536)

시스템 포트 : 1 - 1024 (2^10)

  • 0번 ~ 1023번: 잘 알려진 포트 (well-known port)
  • 1024번 ~ 49151번: 등록된 포트 (registered port)
  • 49152번 ~ 65535번: 동적 포트 (dynamic port)



※ 본 글은 개인 포트폴리오 혹은 공부용으로 사용하기 때문에, 무단 복사 유포는 금지하지만, 개인 공부 용도로는 얼마든지 사용하셔도 좋습니다


'C_C++ 프로그래밍 > 뇌를 자극하는 TCP_IP' 카테고리의 다른 글

뇌자극 TCP/IP 5강 요약  (0) 2019.05.20
뇌자극 TCP/IP 4강 요약  (0) 2019.05.19
뇌자극 TCP/IP 2강 요약  (0) 2019.05.19
뇌자극 TCP/IP 1강 요약  (2) 2019.05.19

댓글