What is framing? Why do we need it? A look at Ethernet and HDLC framing Support me on Patreon: / beneater This video is part 5 of an intro to networking tutorial: • Networking tutorial
Пікірлер: 146
@yung98015 жыл бұрын
You're the god of low-level stuff when I look for content to study CS. This is really helpful and well laid out. Thank you so much!!
@LoopBooost2 жыл бұрын
What are the topics cs is learning about? I know its some codinh but what is the coding about for example?
@nikaX20005 ай бұрын
@@LoopBooost cs is more abt programming than coding, which means rather than learning how to write instructions in computer languages, it is more about the algorithm. Like for eg basic stuff like steps to find if number is prime or not, and more complex like finding a name in phonebook containing millions of entry in seconds, then even more complex like that in encoding, decoding, reading/writing data, networking ps: i know its a bit late, but I always wanted some one to reply when I asked technical qs, so.. it is for me
@TomerBenDavid6 жыл бұрын
Explained like magic. I think the fact he goes through a more of a let's try this umm we have a problem so let's to this like a historical development of networking with an amazing lecturer and diagram does the trick.
@bennewman46274 жыл бұрын
I've been in the technology industry for close to 10 years now and I thought I had a basic understanding of "Networking Concepts" until I watched this video course. Turns out I didn't really understand much of anything, so thank you very much Ben! This video course is by far the best basic intro to networking concepts that I've come across in my career!
@ClaysonShawn3 жыл бұрын
Ethernet literally has its own little drum roll to announce itself.
@Ma1ne22 жыл бұрын
Just today I wrote an exam about network protocols in the car (CAN, MOST, FlexRay, LIN) and what their frames look like. I have to say (for once) the uni guys did a very good job explaining all this, but it was still so refreshing and helpful to see this live view you're presenting from an actual Ethernet connection. That gave me a whole other perspective of what these signals look like.
@w7geek8 жыл бұрын
You are amazing. You seriously need to upload more videos.
@slosh54119 жыл бұрын
These are the most comprehensible networking video lessons, I'd ever saw. Thank you Ben! You are the great Teacher!
@chitoiup9 жыл бұрын
For HDLC bit stuffing, what if I literally want to send 5 ones and a 0, followed by a one?
@rtrusty918 жыл бұрын
You would still stuff the 0, you'd have 11111001 and it would be read 1111101
@jackhodgson4 жыл бұрын
For anyone who, like me, was confused about this bit-stuffing thing. I dug into it, and the idea seems to be that you add the 0 after EVERY occurrence of 5 1s. Not just in the middle of 6 1s. That way you can find them all and remove the added 0s, leaving the original runs intact. I think I have that right. (With the small exception of this bit-stuffing confusion I found these explanations to be remarkably clear and informative. Just like all the other Ben Eater stuff I've watched. Thanks!)
@abdelrhmanahmed13783 жыл бұрын
@@jackhodgson nice but what if in the original data we have 11111011 so we already have zero after 5 1s
@cxiliapersono3 жыл бұрын
@@abdelrhmanahmed1378 111110011
@melodyecho41565 ай бұрын
11111001
@slusheewolf21438 жыл бұрын
I want a turkey filled with bit stuffing for this Thanksgiving.
@rahajune8 жыл бұрын
Brilliant teacher
@pvc9888 жыл бұрын
What does the sniffer say about this packet size? It' over 9000!!! What? 9000!?
@eb44164 жыл бұрын
Go full Mambo Jumboooo!!!
@Fwacer6 жыл бұрын
I started watching this series after hearing you talk about it on Ben Ben and Blue. I was very confused with the last video (when do you know where to start reading bytes) and watched it a few times before coming here.. d'oh! Love your stuff, originally found you from your breadboard PC, now just finished Ben Ben and Blue, and now watching this series!
@RequiosWoW6 жыл бұрын
You know someone is a good teacher when you cant stop watching the next video in the playlist. Thanks for this
@hakanyalcn68265 жыл бұрын
i'm confusing that do we need to flag pattern(0111110) to delimit the data? but why we directly start DATA after the SFD without check the flag pattern at 5:07?
@HeyUtsav4 жыл бұрын
The flag pattern (01111110) is only used in HDLC, the one you are asking about at 5:07 is for ethernet which has (10101011) as flag delimiter instead of using (01111110). (As far as I understand)
@arijitbasu43973 жыл бұрын
I have been following you videos for last 3 years. I found very much helpful, the way you describe a topic in dept ,hats off you your effort man. And I consider u as a masterpiece of digital electronics . Everyone should follow your approach. Bcz u explained sr latch theoretically as well as u showed it practically. ❤️❤️❤️❤️ Love from India ❤️
@aaronbraun8414 жыл бұрын
I doubt this will be answered but... What if the 56 bit preamble is sent, and the clock is not synced and reads a 11 due to the unsynced clock. Won't it begin reading data?
@anandartwork5 жыл бұрын
BTW what's that software you use for whiteboard? (Sketchbook? because I don't know how you scroll and keep the brush palette off the screen) On what OS is that? I'm curious as I am trying to make such nice videos too for some students.. Thanks in advance!
@yasmeteora85082 жыл бұрын
Thank you for these great video lesson, could you add the subtitle to this, I'm not English native speaker, so it's a bit hard for me.
@paradoxicallyexcellent51385 жыл бұрын
TCP receiver: I don't even see the bits anymore. All I see is blonde... brunette... redhead...
@Olavotemrazaodenovo5 жыл бұрын
I'm brazilian and your videos are amazing. Congratulation.
@cprashanthreddy5 жыл бұрын
Beautiful Explanation
@brod5154 жыл бұрын
@4:48 but what if the actual data sent was already 01111101. if the zero after 5 ones is ignored. In this case we actual lose data. How can you determine whether a one was added to avoid six zeroes or if the 0 was actually part of the data. Does it add a zero to every consecutive 5 one bits.
@vicr1234 жыл бұрын
Taking an educated guess, I think the sender might send 011111001? That way, only one of the zeros are ignored and the rest of the data can be decoded properly.
@brod5154 жыл бұрын
@@vicr123 thanks for the reply. I figured it out but left the comment. It's kinda obvious now that I think about it.
@BleedCubbieBlue9 жыл бұрын
Thanks for the great explanation Ben.
@directx195 жыл бұрын
OMG, amazing work. I searched so much for this kind of explanation. Thank you good sir for your amazing videos.
@mattt26846 жыл бұрын
Loving these low-level networking videos!
@samueljimenez47545 жыл бұрын
Thank you for all you do We appreciate it I've watched every single video more than once and can't stop watching them over and over again Make more videos please
@benjaminschmidties99895 жыл бұрын
Hello, i just have a simple question about bit stuffing. if there are 5 consecutive 1s then you said you put a 0 in to let the receiver know that this is not the beginning or end of the frame. but if i have to put a 0 in then the data doesnt match up to the data i was acc trying to send?
@teakew82174 жыл бұрын
The idea is that after _any_ five consecutive 1s, there will _always_ be a 0 to signal this is not a flag. The receiver sees that zero and removes it from the data it interprets. So if I want to send: 00101111 / 10110011 / 00101011 I actually send: 00101111 / 100110011 / 00101011 Note that the second byte is now nine bits long. As the receiver reads this, it says "ok, there are five 1s in a row, so now if I see a zero I will ignore it". This means it removes this 0, leaving: 00101111 / 10110011 / 00101011 Which is the data I wanted to send.
@krgrief2 жыл бұрын
@@teakew8217 awesome, thank u for explaining!! the way ben explained it was a bit confusing lol
@DonPauly5 жыл бұрын
One of the best video i have seen related to networking. Your ability to explain concepts in a clear and concise manner is amazing! Thank you Ben! Please upload more videos like this.
@vadrif-draco4 жыл бұрын
KAKAKAKAKAKAKAKAKAKAKAKAKAKAKAKAKAKAKAKAKAKAKAKA
@sumedhburbure41735 жыл бұрын
I LOVE THIS CHANNEL!
@GiveMeAnOKUsername7 жыл бұрын
How does it know that the bit stuffing isn't the literal value of the bits? Or how does it represent the data 011111010?
@alimmi96 жыл бұрын
See the above answer to Roberts question
@kgopps6 жыл бұрын
Thank you Ben
@dongxie47567 ай бұрын
Thanks. have one question. What's the HDLC for? for what kind of network? It sounds not like the preamble for the ethernet.
@brusslee18145 жыл бұрын
OMG THANK U FOR UPLOADING THANK YOU!!!!!!
@_vaibhav2 жыл бұрын
What a beautiful explanation 😍. You are a nice teacher. Not from a technical background, but still could get everything. If you were my physics teacher in school, I would have taken engineering in university bro 😂
@zero_cool029 ай бұрын
i'm reallllllly impressed by the quality of info you're giving in your videos, may god bless u , thank u so oooooo much
@Nandblow9 жыл бұрын
Great !
@power-max2 жыл бұрын
Bit stuffing, JUMBO frames... You got to love the names engineers come up with haha
@keetor139 жыл бұрын
best videos I've seen... and I've seen mamy
@j0551165 жыл бұрын
It helps a lot, thank you for sharing!
@enjibkk68504 жыл бұрын
"I dont know if you noticed" I have been looking at that for the last 30 seconds not listening to the rest :P
@Djzaamir4 жыл бұрын
These are Simply the best beginner friendly videos on networking on KZbin.
@Digifan001 Жыл бұрын
I wonder how does a computer recieves information on the internet from multiple servers. Like for example I install a game from steam, while I watch a youtube video and recieve a message from friend on facebook. Eveything happening at the same time. How does the ethernet cable or the fiber optics sends all those bytes knowing where each one byte goes to. Is it the first frame 0111 1110 and then another frame that tells the computer this byte is from steam and then the computer stores it and analyzes the data different by the other 2nd frame 01111110 and frame that tells this byte is from youtube?What I'm trying to say is : Is the cable sending at the same time in parallel or is it sending one bye from yt , then one byte from facebook and then one byte from steam untill the recieving is complete. Also how would the computer's clock syncronize with all that parallel data being sent from different servers? Sorry if my question doesn't make sense.
@miyukohai14705 жыл бұрын
Super cool man
@AS-wi6hr Жыл бұрын
@ben (how do I tag Ben? 🤔 ) ... anyways ... Ben it would be awesome if you could turn the option for subtitles on :/ I guess KZbin will auto-generate one for you ... I use the captions as a note-taking aid (I just take a snapshot of the screen and the text) {instead of typing it separately as a note}
@ashenisuranga29152 ай бұрын
I dont know what is your magic, but you sound so clear and every information hits deep into the brain. i guess some people are gifter with ability to teach. nice work man ❤👍
@ajreukgjdi942 жыл бұрын
What happens in Ethernet if somewhere in your data is a long string of an alternating 101010... 0attern ending in ...101011?
@nabeelsherazi8860 Жыл бұрын
I love bit stuffing lol. It immediately seemed analogous to "escape characters" in strings for me.
@Slartipartfast425 жыл бұрын
Holy shit ! thanks for your work ! so awesome !
@abdelrhmanahmed13783 жыл бұрын
great as always , question tho where is the mac ,ip ,port, parts in the frams ? or the ethernet exclude those part out before sending them to the node
@sadailali2 жыл бұрын
Because talking about framing only, assume Data portion as addresses etc. Remember each upper layer is considered as data to its lower layer.
@niklashalonen92966 жыл бұрын
The preamble is only 54 bits long...
@abdelrhmanahmed13783 жыл бұрын
can we just buffer the data to avoid the sync clock issues ?!
@shrikantsen82282 жыл бұрын
I need more videos in this playlist
@pedromateus95755 жыл бұрын
if 1 byte corresponds to a letter what if we're sending video or photo??what does the byte mean in the casE?
@bernardoramirez17592 жыл бұрын
Late and prolly dumb question but why the transitions have to be from positive to negative (and viceversa) voltage? Wouldn’t transitions from 0 (silence) to positive (and viceversa) make more sense?
@markluetzner46049 жыл бұрын
Awesome Ben! Thanks
@homemade835 жыл бұрын
the only one between those millions who talked about this topic so special thanks ❤❤
@alexd91345 жыл бұрын
This is next level teaching. The niveau absolutely blows my mind.
@willowFFMPEG4 жыл бұрын
> niveau It's "level" in English :)
@alexd91344 жыл бұрын
@@willowFFMPEG lol how could that happen?
@willowFFMPEG4 жыл бұрын
@@alexd9134 French and English tend to overlap a lot, and so sometimes we forget which words go with which language. It's a little like French is C and English is C++.
@nithyavasudevan2723 жыл бұрын
Dear Sir, I have watched almost every of your videos. I kindly request you to build a series on internet connection on the custom hardware like the 8 bit computer or the 6502 computer. I am currently building a 32 bit computer with vga output and a usb keyboard, mouse input. I am also planing to build an OS for it. From your kind subscriber. Thank you for your kind support.
@baconology30653 жыл бұрын
Do you use a bigger frame when you trust the quality of the hardware on each end? Should you be matching hardware on either side? Do you need external clock synchronization when using larger frames? Short distances, or particular cable type (fibre?). Thank you.
@nabeelsherazi8860 Жыл бұрын
The tradeoff between frame size (packing more data in vs recovering from errors faster) was such a huge lightbulb for me. I realized you were describing MTU and recognized the familiar 1500.
@valjean10162 жыл бұрын
why not bit stuffing cause new problem? Take this for ex, if i want to send a data seqeunce including 111110, then the reciever will ignore the "0" of that sequence, right? And it is not wanted.
@Essutos Жыл бұрын
You can stuff five ones after that '0' so that the program knows to 1) ignore them, 2) that it was bit stuffing '0' not a real '0'
@_hazplants Жыл бұрын
In some details, this is quite similar to the way our DNA is structured and processed. Great content for free, thank you!
@PankajKumar-zr3tv5 жыл бұрын
best channel....love you man!
@jamienewman14883 жыл бұрын
Thanks very educational, what is the 500mv drop though before it picks back up again and then drops to 0?
@garyheard96184 жыл бұрын
Very nice presentations. I've used an oscilloscope for decades in troubleshooting office systems. Usually I would also display the rise and fall of the clocks as an external trigger to the scope, which would come from the NIC adapter, so I would know exactly when the clock triggers a 1 or a 0.
@samirghedjati40248 жыл бұрын
thank u so much, please more video
@johnbruhling80183 жыл бұрын
Are the byte orders flipped because of how data comes off the stack? (I enjoy your videos 💻)
@BriggamMessinger-h5j Жыл бұрын
I've been looking for some great material to get a better understanding of computer network fundamentals and these videos provide just that!
@NonTwinBrothers3 жыл бұрын
"Preamble" haha
@liewts10494 жыл бұрын
The best illustration of an ethernet frame in the physical layer ever come across. Great job man. Could you also make a video on how the NIC logically synchronise itself to the incoming frame?
@SUMIT-sy7qs6 жыл бұрын
Hi sir, I have a really tricky question that came up to me: if you take the picture roughly at 4:34, you explained that to avoid confusion with the pattern 01111110 which is not a frame delimiter the system must add a zero before the last 1 as 011111010. OK, I can perfectly understand this rule but my question is how do the system know that the sequence 011111010 is really the adaptation of 01111110 and not an original 011111010 aprt of the bit flow? The only solution I can see is that it should be no posiblility to uncounter the pattarn 011111010 by any combination done by using the ASCII code or whatever code is used to send the data. But wait, if you take the following series 01111101 (which is in ACSII the right closing brace) and then you invert before sending, it becomes 01111101. To this 01111101 series you add another one, for example the 01111000 (which is in ACSII the x) and then you invert before sending, it becomes 000111110. Then if you concatenate both the series, you obtain 0111110101111000 where you can find the 011111010 series which is apparently not the hidden 01111110 series!!!! Do you have a more explaination to better understand this ambiguity? Thank you.
@teakew82174 жыл бұрын
Any time you send five 1s, you insert an extra 0 immediately after them as padding. Any time the receiver reads five 1s, they ignore the 0 which immediately follows as padding.
@SUMIT-sy7qs4 жыл бұрын
@@teakew8217 Thank you sir, but I already fully understood this. My question is : if I want to send an original 01111101 which is not at all a hidden 01111110 pattern but really a 01111101, How the sytem can detect that it is not a, hidden 01111110 but an original 01111101? That's my question.
@teakew82174 жыл бұрын
After _any_ five 1s, the transmitting system will insert a padding 0. So any time the receiver receives 111110, it knows that the zero is padding and will discard it. If you ask the system to send the string 1111101, what it will do is send the string 11111001. This can then be interpreted properly by the receiver.
@SUMIT-sy7qs4 жыл бұрын
@@teakew8217 Waohh, super thanj you, everything is now understood. Thank you sio much sir:)
@JulianSchimmelpfennig3 жыл бұрын
Ben you are one of the best teachers I've ever seen. Every time I ask myself hm what would happen if this and that changes you'll answer that 10 seconds later!
@joelcordier67623 жыл бұрын
💡💡💡 Ben ! Please, Teach, Teach and Teach again. You do that so well. Thank you. ✨✨✨
@liamvg6 жыл бұрын
How did you know where the signal started for the 8 bit signal value? You started to define this on the 2nd segment on the scope, but there was a segment before that. How do you know it didn't start earlier or later?
@Turjak_art8 жыл бұрын
when is 64 byte frame size, then after recieved this 64 bytes we put another flag? is that correct?
@Sairuscz14 жыл бұрын
Best MTU explanation I've seen. Now it clicked! Thanks, Ben.
@Eren-vz5vb3 жыл бұрын
wasn't supposed to be a flag in the last part to start to read the data?
@AriannaEuryaleMusic3 жыл бұрын
Thank you for making this so clear; what I didn´t quite get was: Why the signals are flipped over when making the conversion to decimal?
@RenaudAlly2 жыл бұрын
Let me take a guess. Imagine a computer sends the bit string to another computer. The receiver will get those bits starting from the end of the bit string (right-most bit) uptil the start (left-most bit).
@coolwinder5 жыл бұрын
You are the best. Exactly what I am interested in and that no one is looking at! Perfectly explained without any unnecessary content. Thanks!
@B1NT0N2 жыл бұрын
Does "K" and "A" stand for Khan Academy ?
@haroonsyedmohammed84305 жыл бұрын
Wish my computer networks lecturer taught this way
@khristianss4 жыл бұрын
Traduzcan los vídeos por favor
@AhsanKhan-eb2zb7 жыл бұрын
You're legend
@ezengondolkozom37007 жыл бұрын
2:10 Got that joke
@darthglowball7 жыл бұрын
I got it a bit. :p
@goeiecool99997 жыл бұрын
The ultimate "no pun intended"
@kevinbenavides92 Жыл бұрын
Thank you so god damn much Ben.
@LWD-Hidden-Links5 жыл бұрын
really helped me understand framing thanks
@twerkingduck12755 жыл бұрын
What if my data contained 96 consecutive zeros followed by 1010101010101010101010101010101010101010101010101010101010101011? Does a NIC just know that a frame should always be 1500 bits?
@keiyakins4 жыл бұрын
The 0s would be on transitions so there's no interframe gap.
@anandartwork5 жыл бұрын
Great explanation and stunning demo as well! Thanks!
@shuvajitmohanty50807 жыл бұрын
plzz give some details about preamble...
@ahmeterdogan75953 жыл бұрын
Dude can u add CC all videos?
@magiczerda31205 жыл бұрын
I have to write this so there are 69 comments.
@rushikeshpatil0034 жыл бұрын
My new khan academy ✌️
@ammarchangwani93 жыл бұрын
Still watching now ...
@ColdFishMus5 жыл бұрын
who saw the title and thought its a tutorial for RPG games farming or something?