서버 공부

[서버 공부]9. 네트워크 기초 + 통신모델 + 소켓프로그래밍 입문

myjeongjun 2025. 1. 9. 02:41

Terminology

단말기,스위치,라우터,네트워크

 

단말기: 중앙의 컴퓨터와 네트워크 로 연결되어 있어, 데이터의 입력과 출력을 담당하는 말단 부분의 장치를 말한다

스위치: 같은 네트워크내에서 단말기 끼리의 패킷전송이나 다른 네트워크간 패킷을 전송할때 라우터로 보냄

라우터 : 다른 네트워크 간의 패킷전송

 

어플리케이션 단계:유저인터페이스를 정의 프로토콜(HTTP,FTP,DNS)

 

프로토콜은 서로 다른 시스템 간 데이터를 주고받기 위한 규칙과 표준을 정의한 것

HTTP: 웹에서 데이터를 주고받기 위한 프로토콜

FTP: 파일을 전송하기 위한 프로토콜입니다.

 

트랜스포트 단계 :전송확인 오류 해결 TCP, UDP

 

네트워크: 네트워크간의 경로 설정 IPv4, IPv6 관려장치 :라우터

 

데이터 링크: 네트워크 내의 경로 설정 이더넷,PPP관련장치 스위치

이더넷은 지역 네트워크(LAN)에서 데이터 전송을 위한 프로토콜로 가장 널리 사용된다.

LAN은 물리적으로 가까운 위치에 있는 장치들을 연결한 네트워크

 

PPP는 직접 연결된 두 장치 간에 데이터를 전송하는 프로토콜로, 주로 지점 간 연결 ex)두 라우터 간 연결)에서 사용된다. PPP는 이더넷과 달리 단일 연결에 사용

 

피지컬 단계: 신호처리 케이블/허브

 

위의 단계는 TCP/IP모델이고

 

OSI 계층모델이 존재 어플리케이션단계가 3개로 쪼개짐 오래됨

7계층 주소 (도메인주소)

DNS 프로토콜의 통신 과정

  1. 사용자가 브라우저에 www.example.com을 입력.
  2. DNS 클라이언트(보통 운영체제 또는 브라우저)가 DNS 서버에 요청을 보냄.
  3. DNS 서버가 도메인에 해당하는 IP 주소를 찾아 반환.
  4. 클라이언트는 반환된 IP 주소를 사용해 대상 서버와 통신.

 

 

3계층주소 IP

2계층 주소 MAC address(기기 고유의 물리적 주소) 

 

패킷을 받는입장에선 피지컬 -> 어플리케이션으로 올라가면서 받음

 

소켓 프로그래밍

1.클라이언트가 서버에 coonect 요청을함

2.Listner 소켓을 준비

3.Bind를 통해 (서버주소 / Port를 소켓에 연동)

4.들어오는 요청을 listen

5.accept여부 판단

6.이제 클라이언트는 클라이언트 세션을 통해 서버와 주고받음

 

포트(port)는 네트워크 통신에서 특정 애플리케이션이나 서비스와 연결하기 위해 사용하는 논리적인 통로