Super Kawaii Cute Cat Kaoani

네트워크

네트워크 - 1

zozni 2021. 1. 9. 22:33
728x90
반응형
SMALL

 

-프로토콜의 3가지 요소

-간단한 프로토콜의 구조

-OSI 참조모델

 

<프로토콜의 3가지 요소>

Syntax (구문)

데이터의 포맷

(헤더는 몇 바이트고 이런거)

시그널 계층

2. Semactics (의미)

그 데이터 헤더 어떤 의미를 갖느 냐

제어 정보 (TCP에서 순서번호라든지 그런 정보들)

에러 핸들링 (에러처리) (TCP는 체크섬이 있어서 에러가 있을 때 즉시 보내게 하는게 있음) UDP의 경우에는 재전송이아니라 그냥 drop을 함.

3. Timing (타이밍)

speed matching, 처리할 수 있을 만큼만 보내줌

Sequencing, 순서에 따른 ACK번호를 보냄으로써 시간의 흐름에 맞게 데이터를 주고받을 수 있게 함.

 

 

<프로토콜 구조>

모듈로 나누어진 커뮤티케이션 작업

 

전송계층에서 어플리케이션이 네트워크와 연결을 해주기 위한 서비스 모듈이 필요하다.

 

프로토콜은 각 기능을 수행하는 모듈로 나뉜다.

<파일을 전송하기 위한 간단한 프로토콜 구조>

Computer X :클라이언트

Computer Y :서버

각각 어플리케이션이 있음

커뮤니케이션 네트워크를 통해서 서로 연결.

FTPTCP를 사용함.

커뮤니케이션 서비스 모듈이 TCP/IP에서는 전송계층으로 볼 수가 있다.

 

-네트워크 접속 계층

-전송계층

-어플리케이션 계층

(파일을 전송하기 위한 클라이언트-서버 응용 프로그램이 필요하게 된다.)

 

<네트워크 접속 계층 (network access layer)>

파일을 전송하는 응용 프로그램 입장에서 네트워크에 접속하는 계층의 역할은 실제로 내 컴퓨터에서 내가 보내고자 하는 목적지로 가기위해서는 네트워크로 연결되어 가야한다. 그 사이에서 데이터를 교환하기 위해 필요하다.

 

->목적지의 주소가 필요하다.

(각 단말의 IP주소를 가지고 연결을 하게된다.)

각 어플리케이션은 포트번호, 전송계층의 주소가 또 필요하게 된다.

하위에 사용되는 네트워크 매체가 무엇인지에 따라 의존적일 수 밖에 없다.

<전송 계층 (transport layer)>

안정적인 데이터 교환을 중시.

-UDP는 잘받았다고 ACK을 보내지 않는다

어디까지 받았다고 알려주지도 않고

에러가 있으면 drop한다.

-TCP는 어디까지 받았고 뭐 받을 차례고 에러가 있으면 다시 보내달라고 한다. 안정적인 데이터를 보장해 준다.

 

네트워크 접근 계층에서는 시스템이 사용하는 네트워크가 무엇인지가 중요하지만

접속 계층에서는 사용되는 하위 계층에 독립적이다.

 

실제로 연결되는 네트워크에 대한 것은 네트워크 접속 계층에서 해주기 때문에 네트워크 접속 계층 상위에 놓이는 전송계층에서는 신경쓸필요가 없다.

 

상위 어플리케이션에 대해 독립적이다.

(ex)FTPTCP를 사용할 수도 있고 UDP를 기반으로 사용할 수도 있다.)

 

-각 계층에서 수행하는 일들이 유기적으로, 누구하고도 접촉해서 이루어질 수 있도록 함

 

<어플리케이션 계층 (Application layer)>

서로 다른 유저의 다양한 어플리케이션을 지원.

ex) 파일 전송, 이메일, 스트리밍 등

 

 

 

<프로토콜 구조와 네트워크>

3개의 end system

각 어플리케이션들이 있음

네트워크로 서로 연결되어 있음

네트워크 접속 계층은 A,B,C를 각각 나타내기 위한 주소가 필요.->network address

TCP/IP에서는 IP address라고 부름

전송계층에서는 network 주소를 보고 A인지 C인지까지는 찾을 수 있음 근데 컴퓨터 A가 한번에 하나의 프로그램만 띄워놓진 않잖음 다양한 프로그램을 씀 다양한 어플리케이션들을 구분할 수 있어야함 그게 TCP/IP에서는 port number. OSI 7 layer 모델에서는 Service access point라고 함. (서비스에 접속하기 위한 주소)

 

[OSI] [TCP/IP]

network address = IP address

service access point = port number

 

 

컴퓨터 A, B, C를 나타내기 위한 주소체계가 필요함. (목적지를 나타내는 주소체계)

end system을 나타내는 주소를

network address라고 함. (=IP address)

이 주소 체계는 두 단계의 주소체계가 필요.

 

각 컴퓨터가 유일한 네트워크 주소를 가져야함.

하나의 end system에는 여러개의 응용 프로그램이 동작하고 있기 때문에 각 응용 프로그램에는 컴퓨터 내에서 고유한 주소가 필요하다. (port number, SAP)

 

->IP주소로 단말 시스템을 찾아가고 여러 응용프로그램 중에 어떤 응용 프로그램이랑 통신을 할 거냐를 포트 번호로 찾는다.

 

 

<Protocol Data Units (PDU)>

어플리케이션 계층 : 데이터그램

전송 계층 : 세그먼트

네트워크 계층 : 패킷

데이터 링크 계층 : 프레임

 

=> 계층 상관없이 다 통틀어서 쓰는게 PDU.

각 레이어에 전송하기 위해 쓰는 프로토콜을 말한다.

(application header + user data)

= application PDU

(응용 계층의 데이터 유닛)

 

전송계층은 user data를 조각내게(fragment)된다.

fragment는 전송계층 헤더가 붙는다.

헤더에는

-목적지의 포트넘버 (SAP)

-순서번호

-에러 감지 코드

가 포함된다.

 

전송 계층의 프로토콜 데이터 유닛을

전송 계층 PDU”라고 한다.

 

<PDU>

상위 계층의 내용이 하위 계층의 데이터 파트에 들어가고 거기에 제어 파트가 헤더에 붙게 된다.

PDU는 응용 계층의 데이터들을 쪼갠 다음 전송계층의 데이터파트에 들어가고 제어 정보가 헤더에 붙는다. 이걸 전송 계층 PDU라고도 부르고 세그먼트라고도 부르는 것이다.

이 구조가 패킹, 포장한다고 해서 encapsulation (캡슐화) 라고 부른다.

 

sender입장에서는 헤더를 붙이게 되고

(캡슐화)

receiver입장에서는 응용계층으로 올리기 위해 (캡슐화해제) 데이터만 올린다.

 

 

 

<Network PDU>

-> 네트워크 해더가 붙음

헤더에는 목적지 컴퓨터의 네트워크 주소가 있다.

네트워크 계층에서의 가장 중요한 역할은 라우팅이다. 길 찾아가는 것. (최단 경로, 우선 순위)

 

 

<프로토콜 구조의 표준화>

대표적인 표준이 OSITCP/IP가 있다.

(7계층) (5계층)

(OSI, Open System Interconnection)

두 장비가 통신을 하기 위해서는 표준이 필요하다.

회사 입장에서는 표준이 있어야 시장에 제품을 팔 수 있다. 서로 장비들이 같이 동작.

소비자 입장에서는 표준화 된 장비여야 다 사용할 수 있기 때문에 좋음.

 

-> 대표적인 표준 2가지

1. OSI Reference model (OSI참조모델)

말그대로 참조하기 위한 모델이고 실 제로 제품이 나오진 않음 (이론적)

2. TCP/IP protocol suite

현재 가장 많이 사용되는 표준

산업체 표준

 

 

 

<OSI, Open System Interconnection>

ISO 국제 기구에서 개발.

7계층으로 이루어짐. OSI 7계층.

계층적인 이론적인 모델

통신에 있어서 필요한 기능들의 일부분의 기능을 수행한다는 것.

각 계층은 다음 하위 계층에 의존하여 더 많은 기본 기능을 수행한다.

(전송 계층은 네트워크계층에서 제공하는 서비스를 받는다.)

각 계층은 다음 상위 계층에 서비스를 제공한다.

한 계층이 변했다고 해서 다른 계층이 변해서는 안된다. 각 계층은 하위 계층에서 제공하는 서비스를 받긴 하지만 동작함에 있어서 독립적으로 동작한다.

 

 

응용 계층 : 사용자들이 접촉하는 계층

분산된 정보처리를 제공.

presentation, session 계층은 TCP/IP에서는 이 부분이 응용 계층 안에 포함이 된다.

presentation 계층 : 각각의 프로세스와 독립적으로 데이터를 표현하는 방법을 제공.

암호화하고 복호화하는 것도 이 계층에 포함됨.

session 계층 : 양 단에 응용 프로그램들이 통신을 함에 있어서 제어하기 위한 구조를 제공.

전송 계층 : 안정적이고 투명한 데이터 전송을 제공. 순서도 제공. end-to-end. 흐름제어(receiver가 처리할 수 있을 만큼만 보냄) winSize.

네트워크 계층 : 실제로 시작주소에서 목적지주소까지 데이터전송을 담당. 보내는 내용이 메신저 내용인지 파일인지 신경쓰지 않는다. 그냥 양 컴퓨터 간에 데이터전송을 보장하는 계층이다. 이때 사용하는 주소가 IP 주소이다.

데이터링크 계층 : 시작 컴퓨터에서 목적지 컴퓨터까지 데이터를 주고 받는데 중간에 여러 라우터를 거쳐서 가게 된다. 만약 라우터를 4개를 거쳐가면 시작컴퓨터에서 1번째 라우터까지 데이터가 안전하게 전송되는걸 보장하는 계층이다. 바로 인접한 두 노드간에 데이터의 안정적인 전송을 보장해주는 계층.

물리 계층 : 물리 매체가 뭐냐. 유선인지 무선인지. 01의 비트에 에러가 있는지 없는지까지 체크해줌.

 

 

컴퓨터 X에서 컴퓨터 Y로 전송을 하는 상황.

유저 데이터에 application 헤더가 붙게 된다.

이걸 encapsulation (캡슐화)라고 함.

받는 쪽에서는 캡슐화 했던걸 풀어가면서 필요한 데이터를 꺼냄.

 

[TCP/IP 프로토콜 구조]

DARPA라는 기구에서 만듬

현재 사용하고 있는 글로벌 인터넷임

공식적인 모델이 있다기 보다 실제로 동작하는 모델이다. 산업체에서 사용.

 

Network Access layer

= datalink layer

(책마다 용어가 다름)

5계층으로 이루어져있다.

 

물리 계층 : 실제로 전송되는 장비들간에 전송 매체가 무엇인지. 무선인지 유선인지.

LAN을 쓰는지 DSL을 쓰는지 케이블을 쓰는지 전화선을 쓰는지. 전송률.

데이터링크 계층 : 바로 인접한

-네트워크 계층: 출발지부터 목적지까지 다 담당.

-데이터링크 계층: 바로 인접한 곳만 담당.

노드와 노드 간 프레임 을 제대로 보내는 것을 목적으로 함.

네트워크 계층(IP계층): 라우팅,포워딩 기능이 가장 중요함.

전송 계층(TCP) : 안정적인 데이터 전달을 보장. ACK. 순서번호를 통해 순서대로 보내고 에러있으면 재전송해줌. UDP도 있음

응용 계층 : 사용자의 응용 프로그램을 지원하는 계층. HTTP는 웹, SMTP는 이메일.

 

데이터링크 용어 사용.

 

[TCP] 교재 217p

Transmission Control Protocol

전송 제어 프로토콜

안정적이고 신뢰적인 연결 제공

세방향 핸드쉐이크

다른 시스템에 있는 엔티티 간의 임시 논리적 연관

TCP 세그먼트라고 부름.

출발지와 목적지의 포트 번호가 필요하다.

어떤 응용 프로그램이 만든 데이터냐라는 걸 찾기 위해서 포트번호가 필요.

포트 번호는 출발지와 목적지 쌍으로 이루어져서 데이터를 주고 받게 된다.

TCP는 각 연결에서 엔티티 간의 세그먼트를 추적한다. 순서에 맞는 전송을 보장해 준다.

 

 

[UDP] 교재 187p

User Datagram Protocol

전송 보장 못함

전송 순서 보장 못함

복제에 대한 보장 못함

최대한 빠르게, 오버헤드를 최소화한다.

포트 번호가 필요하다.

 

-TCP 헤더 : 20바이트

-UDP 헤더 : 8바이트

-> 컴퓨터 네트워크에서는 두 가지 주소가 필요하다. IP주소와 포트 번호.

IP주소 : 출발지와 목적지의 컴퓨터를 구분하기 위한 것

포트 번호 : 컴퓨터에서 수행되고 있는 어플리케이션을 구분하기 위한 것

 

[IPIPv6]

IPv4의 헤더는 20바이트

IP주소가 4바이트 (출발지, 목적지)

IP는 체크섬 기능이 있다.

잘못된 전달을 방지하기 위해 체크섬이 헤더에 적용된다.

프로토콜 필드는 TCP, UDP 등의 전송 여부를 보여준다.

조각화에 사용되는 플래그 및 조각화(fragmentation) 오프셋이 헤더에 포함된다.

1996년에 IPv6로 업그레이드가 되었다.

처리가 빨라졌다.

IP주소가 16바이트

- IPv4IP주소는 4바이트 (32비트)

20바이트

- IPv6IP주소는 16바이트 (128비트)

40바이트

고갈될 일이 없음.

 

[IPv4 헤더]

교재 303p

[IPv6 헤더]

교재 321p

IPv6는 중간 중간에 라우터에서 fragmentation이 처리가 안됨. 출발지와 목적지에서만 처리됨.

 

[Addressing Level]

(네트워크 level 주소)

IP주소 (TCP/IP)

Network service access point (OSI)

(시스템 내 프로세스)

포트 번호 (TCP/IP)

Service access point, SAP (OSI)

 

728x90
반응형
LIST

'네트워크' 카테고리의 다른 글

네트워크 - 6  (1) 2021.01.09
네트워크 - 5  (0) 2021.01.09
네트워크 - 4  (1) 2021.01.09
네트워크 - 3  (0) 2021.01.09
네트워크 - 2  (0) 2021.01.09