Kapitel 2: Sicherungsschicht -2
지금까지는 nachrichten 만 생각하고 그 format에 대해서 걱정하지 않음.근데 사실 물리 계층 관점에서 메시지는 비트 시퀀스일 뿐이다. 근데 2계층에서는 이게 충분하지 않음.
그래서...
데이터 링크 계층 맥락에서 메시지는 FRAME 이라고 부름. = Rahmen
프레임이 다른 크기를 가지고 있거나 nicht staendig Nutzendaten auf der Leitung liegen 일 때 수신자는 프레임을 어케 인식하냐?
가능한 방법이 있다...
--> 모든 프레임 구분 방법의 목표는 코드 투명성을 유지하는 것. die Erhaltung der Codetransparenz. = 모든 문자열을 전송할 수 있도록 하는 것
프레임 시작 부분에는 다음 사용자 데이터 혹은 전체 프레임의 길이가 있음.
요건 : 길이 필드와 이에 따른 메시지의 시작은 명확하게 인식가능해야 한다.
시작부분은 그럼 어케 인식해?
제어 문자 Steuerzeichen (시작, 종료)
경게펠더 추가해서 Voranstellen von Begrenzungsfeldern
프레임 간 반송파 신호 손실(고드규칙위반) Verlust des Trägersignals zwischen den Rahmen
각 4비트 입력은 5비트 출력에 매핑됨.
프레임 앞에 시작기호 j/k 뒤에는 끝 기호 T/R 삽입됨.
제어문자는 레이어 1,2 뿐 아니라 6에서도 사용됨
대부분의 경우 사용자가 걱정할 필요 없게 wird automatisch für Codetransparenz gesorgt. 그치만 프로그래밍언어에선 적용 안되니까 처리해줘야해 . 예를들어 백슬래시로 excape 한다던지.. 배쉬나 emacs같은 텍스트 에디터도.
특정 비트 시퀀스로 메지시의 시작과 끝 표시.
마킹이 Nutzdaten에서 무작위로 발생하지 않게 Bit Stopfen = bit stuffing
예시)
Return-to-Zero und Manchester같은 많은 라인코드에는 전송할 데이터와 관계없이 특정 신호 변경 사항이 있음.
idea :
특정 신호 변경 생략
이런 방식으로 유효하지 않은 = 코드에 존재하지 않는 기호 생성
이걸 프레임의 시작과 끝 표시하는데에 사용함.

IEEE 802.3z (Gigabit Ethernet over Fiber): 1000 Mbit/s
라인코드 : NRZ in Kombination mit dem 8B10B-Code
Steuerzeichen des 8B10B-Codes 로 프레임 시작과 끝 마킹.
IEEE 802.3ab (Gigabit Ethernet over Copper)
이거는 다른 라인코드 사용함. Dämpfung andernfalls zu groß wäre.
지금까지는.. 이진데이터 스트림이 전송되는 방법, 수신기가 프레임 경계를 인식하는 방법을 알고있음. 근데..
계층 3 이상에서 오는 사용자 데이터가 2층에서 처리되는 방식, 프레임 수신자가 주소화되는 법, 사용자 데이터 및 프로토콜 별 정보에서 프레임을 만드는 방법은 아직 모름..
IEEE 802-Standards 기준으로 설명할거임...
direktverbingungsnetzen 에서 adressierung:
2층에서 주소 요건:
레이어 2 주소는 일반적으로 MAC 주소 = Media Access Control
맥주소 구조: 
(RA = Receiver Address, TA = Transmitter Address)2
6byte = 48비트.oui 코드는 생산자를 나타냄.(회사어디껀지.) 나머지는 고유 시리얼 넘버.
채널 코딩 Kanalkodierung 에도 불구하고 전송 오류(비트 오류) Übertragungsfehler (Bitfehler) 가 발생할 수 있습니다.
잘못된 페이로드가 상위 계층으로 전달될 수 있습니다.
이러한 오류의 가능성을 더 줄이기 위해 추가 오류 감지 코드(소위 체크섬)가 사용 = Prüfsummen = Checksums
채널 코딩(오류 수정 코드)과 달리 레이어 2 프로토콜의 체크섬은 일반적으로 오류 수정에 사용되지 않고 오류 감지에만 사용
기초 : 
여기서 passend definiert 적절하게 정의하는건 어떤 의미일까?
CRC는 주어진 데이터 블록(예: L2-PDU)에 대한 고정 길이의 체크섬을 계산합니다.
• 코드 워드는 다항식 a ∈ Fq[x]입니다.
• 감소 다항식 r(x)의 차수 n이 결정됩니다.
• 가능한 모든 코드 워드 a ∈ Fq[x]의 최대 차수 n − 1 및
• 감지할 수 있는 비트 오류 유형(단일 비트, 다중 비트, 버스트 오류).
• 이더넷은 감소 다항식과 함께 CRC32를 사용합니다.
CRC-32 는 어떤 fehlr 감지하나?
• 모든 1비트 오류
• 격리된 2비트 오류, i. 시간. i > j인 비트 위치 i 및 j에서 오류가 발생하여 i − j > n
• n보다 긴 일부 버스트 오류는 축소 다항식의 구체적인 선택에 따라 다음 중 하나를 선택합니다.
• 길이가 n보다 작은 모든 버스트 오류 또는
• 홀수 개수의 오류 비트가 있는 모든 오류 패턴이 인식됩니다.
인식하지 못하는 오류?
• n보다 긴 오류
• 여러 버스트로 구성된 오류
• 감소 다항식의 배수인 모든 오류
*** Collision Domain (충돌 도메인)
충돌 도메인은 여러 노드가 동시에 전송하는 경우 충돌이 발생할 수 있는 직접 연결 네트워크의 일부입니다. 이것은 종종 세그먼트라고도 합니다.
물리계층의 장비. 포트에 전기 신호가 도착하면 시호가 들어온 포트 제외하고 모든 노드에 신호 전달. 전송 뿐 아니라 응답도 다른거에 다 보내버림.
충돌도메인 분리가 안되서 여럿이 동시에 사용하면 느려짐. 장점: 싸다.

몇 가지 예외를 제외하고 레이어 2는 연결 없이 작동합니다.
통신 파트너 간에 논리적 연결이 설정되지 않았습니다.
2층 데이터링크계층에서 작동.
허브와 같이 포트에 들어온 신호를 다른 포트에 전송하는 기능.
차이 : 허브는 모든포트에 전송, 스위치는 페리음을 필터링 함 => MAC 주소를 가지고 데이터를 보내고자 하는 포트에만 신호 전달 -> 충돌도메인이 나눠짐. 그래서 여러명이 동시에 사용해도 느려지지 않음.

스위치 포트에 따라서 충돌 도메인 나눠지는 예시

스위치 종류
• Store-and-Forward: 들어오는 프레임이 완전히 수신되고 해당 FCS가 확인됩니다. 출력 포트가 사용 중이면 제한된 수의 프레임을 버퍼링할 수 있습니다.
• 컷스루: 출구 포트가 결정되면 프레임 직렬화를 시작합니다. 이 경우 FCS는 확인되지 않습니다.
무선랜을 구성하는 장치 중 하나로 유선랜과 무선랜을 연결 시켜줌.
독립형 장치로 이더넷 허브나 서버에 꽂아 사용가능. AP는 휴대폰처럼
AP (Access Point) 타입
① 브릿지 타입 (Bridge Type)
데이터 전송의 중계역할을 하는 기기로 유선랜의 허브에 가까운 기능
Point To Point
② 라우터 타입 (Router Type)
라우팅 및 NAT기능 등을 갖춘 기기로, 다른 네트워크(Internet, Private Network 등)의 중매 역할을 하는 기능