관리 메뉴

A seeker after truth

3주차 필기 본문

수업 필기/컴퓨터 네트워크(19-1)

3주차 필기

dr.meteor 2019. 10. 11. 01:32

캐릭터 오리엔티드 프로토콜: 헤더와 트레일러에 시작과 끝을 알리고, 플래그는

플래그는 자료형이 캐릭터. 이런 경우에는 실질 자료 중에 문자가 있을 수 있음. 그걸 방지하기 위해 이스케이프 문자를 삽입한다. 만약 이 이스케이프에 해당하는 문자가 또 있다면, 그 자리에는 또 이스케이프를 넣는다.

그렇다면 플래그는 왜 쓰나? – 데이터 전송은 중간값이 없고 0하고 1만 쓰는 거 알지? 근디 중요한 건 이걸 단지 높이만 그렇게 하는 것이 아니고 0-1, 1-0 이런 식으로 한단 것. 이런 것만 데이터로 인식하기 때문에 뭐그걸 구분해주기 위해 다는 건가봐. 정확한 건 찾아볼 것

문제로 바이트 스탑핑, 비트 스탑핑 나올 수 있음. 왜 쓰는지.

0이면 뭐데이터 리셋? 마코프 뭐시기…? 확랜에서 배운다는디

5개의 1 뒤에 있는 0을 제거하는이렇게 할 수 있는 컴퓨터 언어는 C++, assembly, C ~~~ 이 세개가 운체를 구현할 수 있는 유일한 언어라고 한다. 그래서 세개 밖에 없다. 이게 비트 스탑핑??

 

2. 플로우 컨트롤

보내는 속도가 너무 빠르면…. 천천히 보내라…. 천천히 보내라고 외치는 것.

-      커넥션 오리엔티드 방식, 커넥션리스, 그리고 맨첨에 나온 방식 또 하나 있었는데

커넥션리스: 브로드캐스트, 멀티캐스트. 방송 같은 경우. 일단 전송하고 본다는!

DLC: 비트 하나 잘못 쓰면 거대한 에러가 발생.

심플 프로토콜은 존재하지 않음 저스트 서론에 불과하다.

헤더와 트레일러를 없애고 붙이는 관계가 네트워크 레이어와 데이터 레이어에서 발생한다.

13쪽에 있는 그림: 시퀀스 차트, ladder(사다리) 다이어그램

-      Stop and wait protocol: 알로하 프로토콜에서 에러를 해결하기 위해 만든 것

센더가 보내고 상대가 잘 받았다고 할 때까지 기다리는 기본적인 프로토콜

타이머가 다 가면 ack를 다시 보냄

블로킹: 더 이상 네트워크 상태에서 받지 않겠다.

Ack가 왔는데 뭔소린지 모르겠다면 버린다. 저장하고 지우는 과정이 있다. 에러가 나면 재전송을 하는 과정이 있기 때문.

알로하나 CSMA 같은 경우, 쏜 애들끼리 충돌 때문에 계속해서 에러가 날 수 있다. 그래서 센더가 보내도 보내도 계속 안 보내지는 일도 가능한 것. 그래서 trial 횟수도 max가 있다.

센더에서 에러가 나면, 센더 타이머가 터지기 때문에 다시 보낸다. ACK가 에러가 나는 경우에는 받는 쪽에서 무슨 일이 일어난 것인지 알 수 없음. 근데 문제가 이러면 리시빙 노드가 똑같은 메시지가 2번 가게 된다.

그래서 헤더에 메시지 번호가 추가가 된다. 그게 프레임 넘버 0,1,…

그러면 메시지 헤더의 번호는 1비트면 된다….

OSI 1,2,3,4계층은 메시지 필드를 비트 단위로 만든다. 워낙 느린 네트워크이기 떄문에 바이트나 워드 단위로 하면 정말 버겁다고 한다.

이떄, Ack의 번호는 무저건 프레임 넘버보다 1 많은 값을 준다. 다음 데이터를 달라는 의미.

그게 아니고 1,0,1,0,이 번갈아 가면서…. 나오는.

 

만약 여기서 센더와 리시버의 경계가 모호해지면(서로 그 역할을 바꿔가며 할 수 있게 되는 경우), 피기백킹을 준다. 돼지 꼬리가 ack에 해당해지는… ack메시지의 필요성을 굳이 느끼지 못해서, 보내는 데이터 패킷에 아예 ack를 포함하게 된다.

그러면 컴 성능이 좋아진다. 그 이유는?... 패킷 퍼 세컨드라는 것이 있음. CPU, GPU, NPU(network process unit) 에서 주로 쓰는 개념. 소웨는 메시지 길이 보다는 초당 메시지를 몇 개 받는지가 훨씬 중요하다. event의 수. 데이터를 그 안에 숨겨서 보내면 이벤트 수가 줄어들기 떄문에 성능이 좋아진다. 많이 쏠수록 ack 가 많이 오는 사태 완화.

미국식 vs 유럽식 방식 좀 다름. 미국은 winner takes it all(승자 독식 원칙)이 있음. 그래서 원탑이 되기 위해서 성능에 집착을 하는. 그래서 얘넨 ack를 구겨넣는 것을 좋아하고, 유럽은 혼자 못살기 때문에, 분업을 하다보니 너는 a를 만들고 나는 b를 만들게. 이런 논리로 가서,,, ack를 분리한다. 한국의 3세대 이동통신에서는 미국식을 선택

-      Go-back-n protocol

여러 개를 보내다 에러가 나면 뒤로 n발자국 후퇴하고, 시간 좀 지나면 다시 보냄. N이 에러가 난 지점이다.

22: 서큘러 링/큐 라는 자료구조…. 아 이거 배웠다 기억난다

주황색은 안 빈 것들, 흰색은 아직 나의 ??에 오지 않아 빈 상태.

스탑 앤 고와의 차이점은 상대방으로부터 ack를 받지 않아도 0~14까지, 15라는 맨 마지막을 제외한 15개는 ack를 받지 않아도 된다고 한다. (2 n-1)은 쫙 보내고, ack가 딲딱 와주면 계속해서 보낼 수 있게 되는 것.

상대방이 0.1.2를 잘 받았다고 하면, 그건 재전송을 할 필요가 없으니 지우고, 3으로 떙겨서 결국 다시 15개가 된다. 저걸 ??윈도우라고 한다. 이게 밀려나면 슬라이딩 윈도우.

서큘러 큐의 구조로 되어 있으며, 각 메시지를 동적 할당하여 링크드 리스트

컴퓨터 메모리를 다뤄야 했고, 거기엔 포인터가 존재해야 했다

센더가 슬라이딩 윈도에 기반하여 여러 메시지를 받고, 이 메시지를 보내면 메시지 패킷?프레임? 을 만들고…. 한번에 여러 개 보낼 수 있다 보니 그림에서 4개씩 보내는 것이 나타남.

수신단은 하나만 받을 수 있다는 점이핵심! 받아서 하나 올리고 하나 올리고.. 별로면 다시 돌려보내고

24쪽 그림: 4개짜리 데이터패킷이면 한번에 22승 뺴기 13만큼만 보낼 수 있는….

Ack가 가다가 꺠졌더니… 0을 그대로 두고 다시 전송또 꺠짐보내고 위로 올렸는데 또 그새 애크가 깨짐. 그러면 다시 0부터 보냄. 리시버는 3을 바당야 하는데 0이 오면 앞의것을 버리고 다시 받는다고 한다.

정상 동작 시에 버퍼를 풀로 쓰게 된다면, 오버래핑 현상이 발생한다. 참고로 센더에서 보낸 것을 지운다는 것은 그냥 슬라이딩 윈도를 한다는 의미.

고백 앤인 이유는, 에러가 났다고 하면 뒤로가서 다시 보내야 하기 떄문.

데이터가 OSI 7계층을 거치면서 헤더나 트레일러가 연속해서 6, 7번 한 비트씩 붙는다. 그리고 리시버에서는 이게 하나씩 떨어져 나가고. 그렇다면, 7계층을 지나면서 데이터가 몇 번 복사될까? – 씨계열 언어를 배우면 알게 되는데, 포인터씨계열 언어가 이런 통신플밍을 하기 위해 생긴 것이므로 이게 지금 당연한데제로카피라고 한다. 그냥 포인터로 찍어 가며 위로 올라간다. 한번 저장하면 메모리에 저장되어 있기 때문에 이후엔 복사하지 않는다. 링크드 리스트 기억하지???????? 데이터 받으면, 컴퓨터 메모리인 램에 저장을 하며, 이 데이터는 1~7계층 정보가 있음. 이걸 보내는 위치에 따라 해당 정보를 골라서 보내면 되는….

케이블이나 CPU(멀티코어)는 지금까지 성능 속도 개선을 이뤘지만, RAM은 아직까지 아성을 지키고 있음. RAM은 성능 향상이 잘 되지 않는다.

임베디드 운체 넽웍 통신쪽 프로그래밍은 컴공 자체에 대한 이해를 훨씬 더 많이 요구한다. 전통적으론 이런 소웨를 짜는 것인데, 이제는 이런 고민들이 필요 없게 된 것이 서비스 분야 플밍이라고 한다. 비트 수 세고이런 거 없다.

CPU 코어가 떨어져 있으면 어떻게 연걸할까? 부품들을 어떤 식으로 연결할 것인지 중요하다. 코어 8개가 잇는 와중에 나가는 길은 딱 하나만 있다. 그러면? Bi4묶음 만든 뒤, 이 넷을 버스로 연결 혹은 가운데에 스위치를 삽입하여 이 4개 묶음을 거기에 연결. 그러나 이건 예전 방식이고, 성능 개선이 없엇음. 그러면 그 묶음 안에 잇는 애들끼리만 바쁨. 인터랙션 하는 애들끼리 가로지르는인텔이 최근 클라우드 cPU를 만들어 그 안에 코어를 128개가 배치되어있었다. 이에 대해 이 128개의 배치를 알고 플밍을 해야 한다. 구글 같은 경우엔 지들 플밍이 어떻게 되어 있는지 알기 떄문에 이거 바탕으로 하웨는 물론 네트워크 단위까지 지들이 직접 설계했다!!!!!!

 

-      셀렉티브 리핏 ARQ

수신단이 바뀐다. 메시지를 받으면 여러 개를 받을 수 있지만, 에러가 나면 공간을 비우되, …. 결국 수신단도 메시지를 여러 개 받게 수정되었다. 저장은 듬성 듬성 저장하게 됌. 플밍 난이도가 점점 높아짐.

왼쪽이 보내고 오른쪽이 받는

32. 나는 1을 받아야 하는데 왜 2가 오지? 그래도 일단 저장을 하고, non ack라고 해서 에러난 놈의 번호를 보내는. 또한 센더에는 메시지별 타이머가 존재하게 됌. 가장 복잡하지만 가장 효율이 좋은 버전이다. 통신 장비 효율이 크다면 버퍼 크기를 키우는. 통신 속도가 올라가면 올라갈수록 버퍼 크기를 키우는. 그러나 버퍼가 너무 커도 작아도 안되는.

데이터 링크는 인접한 두 놈 사이의 에러를 제어하고

TCP는 멀리 떨어져 있는 애들끼리의 에러나 플로우를 컨트롤한다//가장 고난도라고 함

타이머가 이제 문제인데, 이 떄 변수를 4개로 하면 성능 완전 내려감. 근데 메시지가 올 떄 마다 처리하는 것과 타이머 개수가 늘어날 때마다 플밍 짜는 것은 똑같은 문제라고 한다. 타이머가 여러 개 라는 것은 메모리가 여러 개가 되는 것. 인터럽트 개수마다 띄울 생각하면 죽음. 폴링 방식을 그대로 가져와서 짠다!!!!! 10밀리 세컨드마다 메시지 버퍼 확인, 타이머 확인 식으로 한다. 타이머가 정수이다. 터지면? 터진 작업 시키고…. 일정 시간 단위마다 살아나서 큐를 보고 바뀐 게 있으면 처리하고그래서 대부분의 소웨들이 이벤트 큐와 타임 큐가 존재한다!!!!!!!!!! 참고로 우리의 핸드폰도 이런 식으로 작동한다.

 

-      HDLC

IC – LSI – BLSI

둘의 공통점은 이름을 잘못 짠 것. 당시에 저 정도면 충분히 하이 레벨이라고 생각했었음.

이건 실제로 많이 구현해서 사용하고 있고, 이더넷 같은 것은 여기서 파생된 것.

받은 놈 처음부터 끝까지? 수로 변환한 뒤 다 더해서 값이 똑같으면 에러 없다고 생각하느 ㄴ것.

s-frame: supervisor. 명령 등의 기능을 주고받는 형태

u-frame: unnumber. 통신 소웨끼리 management 상태 보고

데이터/컨트롤/매니지먼트로 통신 소웨는 갈린다. 실제 통신 회사의 업무도 이런 식으로 나뉜다.

36쪽은 이 셋을 구분하는 방법에 대한 그림.

통신 링크가 너무 느리니까 비트 단위 전송한다는 점.

XOR 같은 것은 원하는 파트만 추출하는 것에 쓰인다.

s-frame: 별도의 명령을 주는 코드.  ack정보를 어…. 쩐단거지.

에러 검출 및 복구를 하기 위해서 연결설정을 해야한다

A B에게 연결 요청동의센딩 넘버, 리시브 넘버의 크기, 버퍼 사이즈 등을 주고받으면서 서로 맞춘다 이게 연결 설정 과정이다.

4계층까지 가면 서로서로가 모두 이런 연결 설정 과정을 거침

38: full duplex 왼쪽에서 오른쪽으로 보낼 데이터가 더 이상 없으면 마지막에 3을 달라고

오른쪽 큰 그림에는 고백 앤 에러 제어 모습이 나타나있음.

 

-      PPP 앤 데이터의 에러 검출 및 복구에 관심이 없다. 폰에서 쓰이는 방법. 폰을 키면 반드시 동작하는데, 그 이유는 2가지

ppP는 메신저 역할을 함.

통신에서 돈을 받는 작업은 3, authentication(합법적 사용자 구분), authorization(이 가입자가 어떤 요금제 이용?), account(한 달 용량 검사해서, 그거 초과했으면 초과 금액 계산)… 이게 트리플 에이 서버라고 한다. 통신사 해킹의 주요 표적이다.

연결을 하고 합법적인지 확인하고, 상단부의 네트워크 레이어를 검사하는 것이 PPP의 네트워크 단계. 이동 통신사와 폰을 연결하고, 유심을 꺼내 합법 확인하고, 확인 후 데이터링크 이스타블리쉬 됐으니 주로 인터넷 서비스를 하기 시작함. 아이피 프로토콜이 동작할 수 있도록 해준다. 이게 PPP가 하는 것. 즉 에러 검출 과정이 없다!!!

그런데, 이동 통신사가 돈을 제대로 받는 게 중요할텐데 왜 이런 과정이 없을까?

이동통신 데이터링크가 막강한 에러 검출 및 복구 기능이 있다. PPP는 그 위에 동작하는 것. 이동통신 밑에서 검출하는…. 심지어 이동통신은 피지컬 레이어나 라디오 ?? 레이어 마저도 에러 검출을 하기 때문에, 만약 여기서 에러 검출 실패하면 남은 계층에서 알아서 하라고 방관한다.

NCP: network configuration?

Ppp 위에 프로토콜이 더 올라간다. 실질적인 establishLCP가 한다.

LCP 자체도 헤더, 정보 등이 있다. 그게 패킷타입

PAP, CHAP을 통해 인증을 한다. 둘은 메시지 시퀀스에 차이가 있음. 폰이 켜진 뒤 응답/ 켜진 뒤 가만 기다리고 있으면 사업자가 먼저 보내는지… initiation을 누가 하는 지가 다르다.

우리 흔히 쓰는 통신사들은? CHAP 방식을 선호한다. 통신사 입장에서, 한번에 여러 폰이 신호를 보낸다면?... 한번에 처리하기가 힘들기 때문에. 즉 통신사 서버의 용량이 한정되어 있기 떄문에, 게다가 트리플 에이 서버인지라. 이를테면, 5천만명 폰이 동시에 꺼지면서 그런신호를 보내면?.... 망가지기 때문. PPP는 모뎀이라고

외국은 알로하부터 시작해서 전부 다 해봤기 때문에 강렬한그러나 울나라는 이걸 그대로 들여왔으니그래서 우리가 질문하지도 않는…. 서양은 시행착오를 겪으며 정답에 도달하게 하는 것을 가르치고, 우리나라는 실수하면 안되기 때문에 그 실수에 대한 코칭을 해서 빠르게 그 길로 가게 하는회사가면 이것이 더더욱 두려워지는

HDLC 같은 경우, 1~7계층을 모두 구현할 필요 없음. 심지어는 네트워크 레이어를 configure하지도 않음

전화는 1,2계층이 있음. 팩시밀리는 이 위에 그냥 정보를 올려놓고 주고받게 만든 것.

어플리케이션은? 마우스/에어팟/키보드 기능. 블루투스에 이런게 필요한ㄴ가?... 아님. 블루투스도 2계층 짜리임.

아이오티의 경우, 풀어 말하면 네트워킹을 통해 연결이 된 소형 컴퓨터들을 말하는 것. 가장 대표적인 예가 바로 블루투스. 소형 컴에, 기능까지 들어가 있는. 그리고 뭐혈당/심박/체중계끼리 헬스 아이오티. 최근엔 자동차 안에 들어가서압력 센서 같은 것. 10년 내의 기술무선랜

'수업 필기 > 컴퓨터 네트워크(19-1)' 카테고리의 다른 글

7주차 필기  (0) 2019.10.11
6주차 필기  (0) 2019.10.11
5주차 필기  (0) 2019.10.11
4주차 필기  (0) 2019.10.11
컴네 2주차 필기  (0) 2019.10.11