[CS스터디] 네트워크 계층,제어

한주영·2023년 3월 30일
0

CS

목록 보기
8/19

OSI 7계층

네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 분리하며
각 계층간 상호 작동하는 방식을 정해놓은것
통신이 일어나는 과정을7단계로 크게 구분하여 한눈에 들어올수있도록 단계별로 파악

1계층: 물리계층 (Physical Layer)
2계층: 데이터링크 계층(DataLink Layer)
3계층: 네트워크 계층(Network Layer)
4계층: 전송계층(Transport Layer)
5계층 :세션 계층 (Session Layer)
6계층: 표현계층 (Presentation Layer)
7계층 : 응용계층 (Application Layer)

TCP/IP 4계층

1계층: 네트워크 액세스 계층
OSI 7계층중 물리계층과 데이터 링크 계층에 해당
물리적인 주소로 MAC주소를 사용
LAN,패킷망에 사용

2계층: 인터넷 계층
OSI 7계층중 네트워크 계층에 해당
통신 노드간의 IP패킷을 전송하는 기능, 라우팅 기능을 담당
프로토콜- IP, ARP, RARP

3계층: 전송계층
OSI 7계층중 전송계층에 해당
통신 노드간의 연결을제어하고, 신뢰성있는 데이터 전송을 담당
프로토콜-TCP,UDP

4계층: 응용계층
OSI 7계층중 세션,표현,응용 계층에 해당
TCP/UDP기반의 응용프로그램을 구현할때 사용
프로토콜- FTP,HTTP,SSH

TCP/UDP

TCP

전송제어 프로토콜 ,인터넷 프로토콜의 핵심 프로토콜 이다
근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에
일련의 옥텟을 안정적으로, 순서대로 에러없이 교환할수있게함

3Way-handshake

Client>Server: TCP SYN
Server > Client: TCP SYN,ACK
Client> Server: TCP ACK

양쪽 데이터를 전송할 준비가 되었다는 것을 보장하고
실제로 데이터전달이 시작되기전에
한쪽이 다른쪽이 준비되었다는것을 알수있도록 함.

step1
A클라이언트는 B서버에 접속을 요청하는 SYN패킷을 보냄
이때 A는 SYN을 보내고 응답을 기다리는 SYN_SENT 상태가 됨

step2
B서버는 SYN요청을 받고 A클라이언트에 요청을 수락한다는 ACK와 SYN flag가 설정된 패킷을 발송하고
A가 다시 ACK로 응답하기를 기다림

step3
A클라이언트는 B서버에게 ACK를 보내고 이후로부터는 연결이 이루어지고
데이터가 오가게됨

4way-handshake

  1. A클라이언트는 B서버에게 연결 종료를 요청

  2. B는 A에게 연결 종료에 대한 응답(ACK)를 반환 ACK가 1로 활성화된 세그먼트를 전송하게됨

  3. B도 A에게 연결 종료 요청을 보냄
    fin이 1로 활성화된 세그먼트를 전송하게 됨

  4. A도 B에게 연결 종료에 대한 응답을 반환
    ACK가 1로 활성화된 세그먼트를 전송하게됨

UDP

데이터를 데이터 그램 단위로 처리하는 프로토콜

데이터그램이란 독립적인 관계를 지니는 패킷
비연결형 프로토콜, 연결을 위해 할당되는 논리적 경로가 없는데
그렇기에 각각의 패킷은 다른 경로로 전송, 독립적인 관계를 지님

-특징
1.비연결형 서비스로 데이터그램 방식을 제공한다
2.정보를 주고받을때 정보를 보내거나 받는 신호 절차를 거치지않는다
3.CheckSum필드를 통해 최소한의 오류만 검출
4.신뢰성이 낮다
5.TCP보다 속도가 빠르다

흐름제어와 혼잡제어

흐름제어(Flow Control)는 데이터를 송신하는 곳과 수신하는 곳의 데이터 처리속도를 조절하여
수신자의 버퍼 오버플로우를 방지하는것
송신하는곳에서 감당이 안되게 데이터를 빠르게많이 보내면 수신자에서 문제가 발생하기때문

혼잡제어(Congestion Control)는 네트워크 패킷수가 넘치게 증가하지 않도록 방지
만약 정보의 소통량이 과하다면
패킷을 조금만 전송하여 혼잡 붕괴 현상이 일어나는것을 막는다

IPv4 vs IPv6

ip는 internet protocol의 약자로 네트워크 통신을 할때 쓰는 프로토콜을 말한다

ipv4

ipv4는 3자리숫자가 4마디로 표기되는 방식으로, 각 마디는 옥텟이라고 부른다
내부적으로 32비트(각 마디당8bit)로 처리됨.

-특징

4개의 옥텟으로 나누어짐.

192.168.123.100

한 옥텟당 2^8(256) 의 수를 나타낼수있어서 256^4=4,294,967,296개의 주소를 만들수있다

보통 라우터에 배정해야하는 IP주소는2개인데
하나는 이더넷 인터페이스용(내부),다른 하나는 시리얼 인터페이스용(외부) 이다.

Ip주소의 클래스

A class : 하나의 네트워크가 가질수있는 호스트가 가장 많은 클래스
32자리 2진수로 표현했을때 맨 앞자리 수가 항상 0인경우

B class: 반드시10으로 시작하는 클래스
2진수로 표현하면 10xx xxxx. xxxx xxxx. xxxx xxxx. xxxx xxxx
범위는 128.0.0.0~191.255.255.255

c class: 반드시 110으로 시작하는 클래스
2진수로 표현하면 110x xxxx. xxxx xxxx. xxxx xxxx. xxxx xxxx
범위는 192.0.0.0~223.255.255.255

ipv6

ipv4가 32비트라는 제한된 주소공간 및 국가별 할당된 주소가 거의 소진되고있다는
한계점으로 인한 대안으로 IPv6가 제안
128비트이 무제한 인터넷 프로토콜 주소 16비트 단위로 구분짓고 각자리를
콜론으로 구분표시를 함

-특징
1.확대된 주소공간: 주소 길이가 128비트로 증가
2.단순해진 헤더포맷: 불필요한 필드를 제거하여 빠른 처리가능
3.간편해진 주소 설정:IPv6에 내장된 주소를 자동 설정기능을 이용하여 플러그 앤플레이 설치가 가능
4.강화된 보안가능: IPSec기능을 기본사항으로 제공
5.개선된 모바일: Ipv6헤더에서 이동성 지원

profile
백엔드개발자가 되고싶은 코린이:)

0개의 댓글