본문 바로가기

Foundation/- TCP IP

(4)
OSI 7계층 1. OSI 참조 모델의 목적과 구조 # 정의 - 이기종간의 컴퓨터 통신을 위한 구조 개발에 의해 탄생된 규정 - 모든 유형의 컴퓨터 시스템 간의 통신을 허용하는 네트워크 시스템의 설계를 위한 계층 구조 # 목적 - 기본적인 하드웨어 또는 소프트웨어의 변경 없이 서로 다른 시스템 간에 개방 통신위한 것이다. - 물리적인 하드웨어나 논리적인 소프트웨어를 수정하지 않고 두 사용자 간의 통신을 할 수 있는 기능을 제공하는 것이다. 2. OSI 7계층의 계층별 특성과 역할 # 7 Application(응용계층) # 6 Presentation(표현 계층) # 5 Session(세션 계층) # 4 Transport(운송 계층) # 3 Network(네트워크 계층) # 2 Data link(데이터 링크 계층) # 1..
(3) 소켓의 타입과 프로토콜의 설정 1. 프로토콜의 이해와 소켓의 생성 ▶ 프로토콜이란 ? - 개념적으로 약속의 의미를 담고 있다. - 컴퓨터 상호간의 데이터 송수신에 필요한 통신규약이다. - 소켓을 생성할 때 기본적인 프로토콜을 지정해야 한다. #include int socket(int domain, int type, int protocol); domain -> 소켓이 사용할 프로토콜 체계(Protocol Family) 정보 전달 type -> 소켓의 데이터 전송방식에 대한 정보 전달 protocol -> 두 컴퓨터간 통신에 사용되는 프로토콜 정보 전달 ▶ 프로토콜 체계(Protocol Family) - 프로토콜도 그 종류에 따라서 부류가 나뉘는데, 그 부류를 가리켜 프로토콜 체게라 한다. - 프로토콜 체계 PF_INET은 IPv4 인터..
(2) 연결을 요청하는 소켓의 구현(클라이언트 소켓) 및 서버 접속 ▶ 연결을 요청하는 소켓의 구현 (클라이언트 소켓) - 전화를 거는 상황에 비유할 수 있다. - 리스닝 소켓과 달리 구현의 과정이 매우 간단하다. - '소켓의 생성'과 '연결의 요청'으로 구분된다. - #include int connect(int sockfd, struct sockaddr *serv_addr, socklen_t addrlen); ▶Hello World! 메세지를 출력해주는 서버와 연결을 요청하는 클라이언트를 구현해 보겠다. 전체적인 흐름만 먼저 파악하자. 위는 hellow world를 출력해주는 서버를 만드는 코드이며, 다음으로 해당 파일을 gcc 명령어를 통해 컴파일을하고 ./hserver 9190 를 통해 실행을 했다. 위의 코드는 연결을 요청하는 클라이언트 소켓을 만들었으며, 아래도..
(1) 리스닝 소켓의 전반적인 생성과정 ▶ 네트워크 프로그래밍이란? - 소켓이라는 것을 기반으로 프로그래밍을 하기 때문에 소켓 프로그래밍이 라고도 한다. - 네트워크로 연결된 둘 이상의 컴퓨터 사이에서의 데이터 송수신 프로그램의 작성을 의미 한다. ▶ 소켓에 대힌 간단한 이해 - 네트워크(인터넷)의 연결 도구 - 운영체제에 의해 제공이 되는 소프트웨어적인 장치 - 소켓은 프로그래머에게 데이터 송수신에 대한 물리적, 소프트웨어적 세세한 내용을 신경 쓰지 않게 한다. ▶ 소켓의 전기와의 비유 (1) 소켓의 생성(전화기의 장만) - TCP 소켓은 전화기에 비유될 수 있다. - 소켓은 socket 함수의 호출을 통해서 생성한다. - 소켓의 생성은 전화기의 장만에 비유할 수 있다. - 단, 전화를 거는 용도의 소켓과 전화를 수신하는 용도의 소켓 생성 ..