NW메모

네트워크 중간 내용정리

메모하는 사람 2021. 10. 15. 16:22

라우터: 

network 와  netwok 을 연결해주고 어느 길로 갈지 정하기도 하고 전송해주는 기기이다

 

routing: 목적지 ip주소를 보고 목적지를 찾기위한 최적의 경로를 찾는다 

forwarding :실제로 보내준다 

 

any to any

모두가 모두와 통신할 수 있게 해주는 것 실제로 모두 연결하기에는 숫자가 늘어남에 따라 기하급수적으로 올라가기에 

무리가 심하다 그래서 실제 도로를 지나다니는것처럼 링크를 공유해야 함

multiplexing 

여러개의 신호를 하나의 체널을 통해 동시에 전송 가능하게 하는 것 

다중화는 크게 FDM TDM 으로 나뉜다 

FDM 

주파수 단위로 나누어 주파수를 하나로 합친 다음 복구해서 사용하는 것 

TDM 

전송로 대역폭 하나를 시간 단위로 나누어 이용하는것 

 

 

프로토콜: 약속및 형식 이런것들

네트워크 : 전통적 의미의 네트워크 : 노드와 노드를 연결한다 기기들의 연결관련 , "진짜 네트워크"가 무엇인지

서비스적 의미의 네트워크 : 애플리케이션을 연결하기에 도움을 주는 역할,사람과 사람사이를 연결해주는 등등

 

패킷: "패킷"방식의 컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록이다 

패킷을 사용하는 이유: 네트워크 자원을 패킷 단위로 나누어 시간을 공유하므로 (line efficiency)회선 효율성

이 높다

 

transmisson delay 가 적어지고 데이터를 나누어 보냄으로써 재전송할때 부담이 적다 

Network delay 의 4가지 종류

processing delay

헤더를 읽거나 오류를 처리하거나 라우터 자체에서 패킷을 읽고 검사하는 처리 

 

Transmisson Delay

네트워크 장비의 데이터전송 속도로 결정되고 하나의 프레임을 완전히 송출 전송하기까지 걸리는 시간(라우터에서 데이커를 뽑아내는 작업) 

dtrans = L/R  //패킷 길이 = L transmisson rate = R

Queueing Delay

output link 로 나가기를 기다리는 delay 여러 패킷들이 나가려고 할 때 나가는 줄 서서 순서를 기다리는걸로 보면 됨

기다리는 줄을 버퍼에 기록해놓는데 이것이 다 차면 loss가 일어날 수 있다.

Propagation delay

link 를 타고 한 라우터에서 다른 라우터로 가는데까지 걸리는 지연 물리적인 link 길이와 관계가 있어,프로그램으로 조절하기는 힘듬 전송거리 d 를 신호전송속도로 나누면 구할 수 있다.

d prop = D/S // 전송거리 D  속도 S

nodal delay 는 이 4개를 모두 더한 것 

 

Throughput

통신에서 Throughput은 네트워크 상의 어떤 노드나 터미널로부터 또 다른 터미널로 전달할 수 있는 단위시간당 데이터량

bottleneck:

우리가 아는 병의 목으로 가장 얇

은(througtput가 가장 작은)pipe 가 모든 속도를 결정 

 

Internet Structure 

ISP

개인이나 회사들에게 인터넷에 접속할 수 있도록 서비스를 제공하는 기업이나 기관을 말한다

Global ISP 

assess net 끼리의 연결을 서로 모두 하는건 힘드므로 global isp 에 모아서 연결해준다 

아래의 그림처럼 계층적으로 연결되어있음 

 

Layer

application layer 

네트워크 애플리케이션에 이용되는 계층

HTTP SMTP FTP DNS 등

 

Transport layer 

프로세스와 프로세스끼리 데이커를 전송하고 변환하는것 TCP,UDP

 

Network layer

출발지에서 도착지까지 라우팅하고 전달하는 계층 //ip, rowting protocols

 

Link layer

물리적으로 이웃한(같은 네트워크)디바이스로 전달하는것 이더넷, 근거리 통신망 등 물리적인 연결을 통해 전달하는 계층

Physical layer

물리적인 기기에서 물리적 특성과 기능을 설정하여 데이터를 전송하도록 하는 계층 bit로 통신함 

 

Application and socket

socket

:application 과 network 사이의 문같은역할을 함 

다른 컴퓨터에 위치한 프로세스끼리의 통신을 위한것으로 통신하려면 상대방의 정보가 필요함

IP 어느 기기인가 

 

Port 그 기기의 어느 프로세스인가 

 

2개의 다른  end system 간의 통신은 메세지를 통해 주고 받는다 

보내는 프로세스는 메세지를 만들어 네트워크로 메세지를 보내고 

받는 프로세스는 이 메시지를 송신한다음 possibly respond 를 보낸다 (잘 받았다는 말)

 

DNS 

네이버. com 같은경우 주소를 치면 DNS 가 이버의 IP 를 가져와 준다 편의를 위해서 있는 서비스로 

루트 도메인 

.kr .org .jp 같은것을 찾아주는 도메인 

 

com 최상위 도메인 ( TLD)

com 같은것을 찾아주는 도메인

 

SLD  

네이버 이런 ip를 찾아주는 도메인 

 

이런식으로 계층적으로 존재하는데 

 

트리를 root부터 전부 내려가기에 앞서 

local DNS server 을 거쳐서 

주변에 이미 접속한 기록이 있는 사이트인지 혹은 그에 가까운지 찾은 다음 

예를 들어www  naver  com 을 검색하는데 naver 에 관한 정보는 없지만 www com 정보가 있다면 그래도 

SLD 까지 바로 간다음 네이버를 찾는다 

 

 

 

 

 

방식은 2 가지 

TCP 

데이터 순서를 확인하고 connection 을 맺은 다음 파일을 순서대로 전송해주는 방식 (손실이 덜 나지만 UDP보다 느리기에 손실나면 안되는 상황일때 사용하고 이게 주로 사용되었었음 // reliable)

tcp 는 사용자에게 flow control 을 제공하는데 sender 가 보내는 속도를 reciver 가 받을 수 있는 속도로 변환하여 보내주는 것을 발함

 

UDP 

순서를 확인 안하고 connection 을 맺지 않은 상황에서 데이터를 바로바로 주는 것(손실이 날 수 있지만 빠르기에 많은데이터를 요구하고 끊어져도 모르는것에 주로 사용 예: 음악,게임등)

 

 

 

 

HTTP 

하이퍼텍스트를 변환시키는 프로토콜 //내가 요청하는 사이트의 htpertext를 주라는것

 

HTTP request 

요청

HTTP response 

응답 

애플리케이션 레이어에 프로토콜이기 때문에 transport layer을 이용 그안에서 tcp 통신을 한다 그리고 stateless 

이므로 상황을 기록하지 않는다 (기록하면 서버에 너무많은 부담이 가기 때문에)

TCP 사용방식에 따라 2 가지로 나누어지는데 

persistent HTTP (지속적)

연결을 지속적으로 하는것이고

non persistent HTTP (비 지속적)

요청한 데이터를 주면 바로 연결을 ㄲㄶ어 하나 요청할 때마다 다시 연결을 해야 하는 것이다

 

하지만 이런 환경이라고 유저의 정보를 저장하지 못하는것은아닌데 

쿠키

 주기를 정해놓고 DB 의 이용자를 저장하여 가끔 사이트의 추천광고나 그런곳에 쓰이는 것

이것을 이용하여 저장한다

 

웹 캐시 

사용자가 웹사이트 에 접속할 때, 컨텐츠(JS,이미지, CSS)을 특정 위치에 저장하여, 웹 사이트 서버에 해당 컨텐츠를 매번 요청하여 받는 것이 아닌, 특정 위치에서 불러옴으로서 사이트 응답 시간을 줄이고, 서버 트래픽 감소 효과를 볼 수 있는 것을 말한다.

cache hit 사이트의 정보를 캐시에서 얼마나 가져왔는가에 대한것

 

IP address 

장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 번호이다network interface 를 지칭하며 32 비트짜리를 8비트씩 끊어서 읽는다 

 

destination ip 목적지 주소source ip 발신지 주소 

 

 

ip 주소에는 prefix와 host 를 저장하는 곳으로 나누어짐

Prefix 

subnet의 주소를 지칭

suffix

host를 저장하는곳으로 같은 subnet의 무슨 기기인지를 저장하는것 

옛날에는 ip주소 할당하는것에 있어서 큰 네트워크는 prefix 를 8개 잡고(suffix가 길어지므로 기기 많이연결가능)

작을수록 prefix를 8개단위로 길게 사용했는데 이것이 불공평해서 

CIDR

subnetmask 를 이용해 주소의 길이를 마음대로 할당할 수 있도록 하는것

이걸로 바꿈

궁극적으로는 그냥 ip주소를 늘리는게 좋기 때문에 

ipv6으로 바꾸는 공사가 필요하지만 현실적으로 너무 많은 비용이 들어 한번에 바꾸지는 못함

*ipv4는 32 비트지만 ipv6은 128비트*

16진수로 표현함 

DHCP 

자동 ip할당 해주고 ip 주소를 일정기간 임대해주는것이다 

동작 과정

1 DHCP discover

서버들에게 무슨 주소를 쓸 수 있는지 물어보는동작

2DHCP offer 

쓸 수 있는 ip주소들을 보내는 것 

3 DHCP request

주소중에 뭘 쓴다고 결정해서 결정함을 알려주는 것

4 ACK

결정함을 받은 서버가 임대기간,ip관련 정보를 적어 빌려주는동작 

 

 

 

 

 

이 동작은 모두 브로드캐스트를 하는데 이유는

1DHCP 서버들이 어디에 몇개가 있는지 알 수없으며 자신의 ip 도 설정하지 않은상황이라서

2 자신의 ip를 설정하지 않은상황이라 어느 기기에 보내야 할지 모르기 때문

3 여러 서버가 보냈을것이가 때문에 쓰는곳에는 쓰는지 안쓰는곳마저 안쓴다는걸알려 줘야 함

4 ack 아직 ip 를 주지 않았기 때문에 이걸받아야 ip를 주는거라 

// 저의 블로그 글들의 내용은 오류가 있을 수 있습니다