본문 바로가기
미분류

IT 엔지니어를 위한 네트워크 입문 chap 1

by 혜리루 2021. 5. 23.

네트워크 쪽 기본지식이 약한 것 같아서 회사 사람들과 스터디를 하고 있습니다.

책을 읽으면서 중요 내용들을 톺아보려고 합니다.

 

1. 네트워크 시작하기

1.1 네트워크 구성도 살펴보기

1.1.1 홈 네트워크

홈 네트워크 연결에는 모뎀.공유기.단말기 간의 물리적 연결이 필요함

 

무선연결: 무선 랜카드 + 매체 (공기)

유선연결: 유선 랜카드(이더넷 랜 카드) + 랜선

 

1.1.2 데이터 센터 네트워크

많은서버, 서비스가 연결되어 있어 높은 사용량 수용

-> 10g, 25g, 40g, 100g, 400g(더 높은 대역폭)같은 고속 이더넷 사용

구조: 기존 3계층 -> 현재 2계층(spine leaf 구조)

 

1.2 프로토콜

 

- 프로토콜이란?

통신의 규약

여러가지 산재해있던 프로토콜들이 이더넷 - tcp/ip 기반 프로토콜로 변경됨

 

과거에는 컴퓨터 사양이 낮고 네트워크 속도가 느림.

=> 2진수 bit기반으로 프로토콜들이 만들어짐 = > 속도가 빠르고 매우 치밀하게 약속이 정해짐

 

현재 애플리케이션 레벨에서는 문자 기반 프로토콜들이 많이 사용됨

=> 속도, 효율성이 떨어지지만 다양한 확장이 가능함

 

프로토콜 스택: 함께 사용되는 프로토콜 묶음. ex) tcp/ip 별도의 계층에서 동작하지만 함께 사용됨

 

 

 

1.3 OSI 7계층과 tcp/ip

 

현재 대부분의 프로토콜들이 tcp/ip 프로토콜 스택 기반으로 되어있음

 

1.3.1 OSI 7 계층

 

- OSI 7 계층이란?

네트워크 동작을 계층별로 구분한 표준화된 통신 규약

계층별로 표준화된 프로토콜 템플릿을 이용하면 계층별로 프로토콜을 개발해 모듈화 할 수 있다.

 

 

1.3.2 TCP/IP 프로토콜

TCP/IP는 이론보다 실용성에 중점을 둔 프로토콜

 

 

1.4 OSI 계층별 이해하기

 

1.4.1 1계층 (physical)

물리적 연결과 관련된 정보를 정의

주로 전기 신호 전달과 관련

1계층 장치: 허브, 리피터, 케이블, 커넥터, 트랜시버, 탭 등

 

전기신호를 재생성 후 내보냄

주소의 개념이 없이 신호를 받은 port를 제외한 모든 port에 신호를 전송함. 

따라서 목적지와 출발지가 존재하지않음.

 

 

1.4.2 2계층 (data link 계층)

전기 신호를 모아 데이터 형태로 처리

데이터에 대한 에러 탐지, 수정하는 기능이 존재함.

 

과거에는 물리계층에 신뢰할 수 없는 미디어를 이용하는 경우가 많았기 떄문에 수정기능을 이용했으나 현재는 에러에 대해서 탐지한 수행함.

 

2계층 장치: 

1) 네트워크 인터페이스 카드 (NIC)

2) 스위치

 

- MAC주소

2계층 장치에서는 MAC주소를 이해하고 통신할 port를 지정해서 내보냄

주소정보를 정의하고 정확한 주소로 통신이 되도록 하는 것이 중요함. 

때문에 동시에 여러명과 통신을 하는 것이 가능함

 

 

- Flow Control (플로 컨트롤)

데이터 전송 전 받는 사람이 데이터를 받을 수 있는지 확인하는 작업

 

 

- NIC 동작 방식

 

 

- 스위치 동작 방식

 

- Address Learning 

단말이 어떤 MAC주소인지, 연결된 포트가 어느것인지 알게됨. 이 데이터를 기반으로 정확인 포트로 포워딩함

 

2계층에서는 1계층과 다르게 통신이 필요한 포트만 사용해서 불필요한 처리를 감소시킴

이더넷 기반 네트워크가 급증하는 계기가 됨

 

1.4.3 3계층(network 계층)

논리적인 주소 정의(ex. ip주소)

 

-ip주소

ip 주소는 사용자가 환경에 맞게 변경해 사용할 수 있음.

 

3계층 장비들은 주소(ip)를 이용해 내 네트워크, 원격지 네트워크를 구분함.

원격지 네트워크로의 경로 지정이 가능함.

 

3계층 장비: 라우터

ip 주소를 이용해 최적 경로를 찾은 후 해당 경로로 패킷을 전송함

 

 

1.4.4 4계층 (transport 계층)

 

하위 1,2,3 계층은 전기 신호, 데이터를 올바른 위치로 보내고 실제 신호를 잘 만들어 보내는데 집중하는 반면

4계층은 데이터들이 정상적으로 잘 보내지도록 확인하는 역할

 

데이터를 보낼때는 패킷 단위로 쪼개서 보내기 때문에 패킷이 유실되거나 순서가 바뀌는 일이 생길 수도 있음.

이 때 4계층에서 문제를 해결함.

 

패킷 헤더에 시퀀스번호(seq), ack번호(ack number)를 적어서 통신함.

seq: 보내는 순서 -> 패킷 유실시 재요청할때 사용

ack number: 받는 순서 -> 순서 변경시 수정 가능

 

4계층 장비: 로드 밸런서, 방화벽

 

1.4.5 5계층 (session 계층)

응용 프로세스가 연결을 성립하도록 보움

세션관리가 주 역할 (tcp/ip 세션을 생성하고 삭제함)

에러로 중단된 통신을 복구, 재전송함

 

1.4.6 6계층(presentation 계층)

애플리케이션, 시스템간에 표현 방식을 하나의 통일된 구문 형식으로 변환

마치 번역기처럼 작동함

따라서 7계층에서는 데이터 형식차이에 대해 걱정할 필요가 없어짐

ex) MME 인코딩, 암호화, 압축, 코드변환 등

 

1.4.7 7계층(application 계층)

애플리케이션 프로세스 정의, 서비스 수행

네트워크 소프트웨어의 UI 부분, 사용자의 입출력 정의

- protocol: ftp, smtp, http, telnet 등

 

 

1.5 인캡슐레이션 & 디캡슐레이션

 



패킷 네트워크 -> 하나의 회서네서 동시에 여러단말이 통신을 하도록 해줌

4계층부터 패킷헤더에 정보를 넣음

 

* 헤더에 반드시 포함되어야하는 정보

1) 현재 계층에서 정의하는 정보

 4계층 : 잘 분할하고 조립하는것이 중요함. 패킷 순서 정보, tcp sequence, ack num 

 3계층 : 출발, 도착 ip

 2계층 : MAC주소

2) 상위 프로토콜 지시자

 상위로 갈수록 프로토콜 스택의 종류가 많아지기 떄문에 디캡슐레이션 시 어떤 프로토콜을 올려보낼지 아는 것이 중요함.

ex) 4계층에서 tcp인지, udp인지?

 

 4계층 : 포트번호

 3계층 : 프로토콜번호

 2계층 : 이더타입

 

 

 

MSS & MTU (데이터 크기 조절)

 

MSS: Maximum Segment Size 

네트워크의 수용 가능 크기를 고려해 산정한 데이터의 쪼개지는 크기

4계층 데이터의 최대 값

 

MTU: Maximum Transmission Unit 

네트워크에서 한번에 보낼 수 있는 데이터의 크기

2계층 데이터의 최대값 (2계층 header를 제외한 데이터의 크기)

일반적인 이더넷 -> 1500byte

 

 

 

출처: IT 엔지니어를 위한 네트워크 입문 (고재성이상훈) 길벗

'미분류' 카테고리의 다른 글

Dynamodb Secondary Index  (0) 2021.05.09
Docker image 빌드시 bundle install 오류  (0) 2021.05.04
Go 기본문법 1  (0) 2021.04.25
터미널을 귀엽게 꾸며봅시다 (mac 기준)  (0) 2021.03.21
Docker 개념 정리  (0) 2021.03.07

댓글