Everybody in the company, co-founders myself, Doug is COO, Justin is CTO, Sal is CMO, Casey is head of marketing, Brett is assistant to the marketing team. These are all the main full-time positions. Katrina is a project manager, Jerry is executive assistant, Cassie is customer service, Chokey is head of social media, Andrew head of editing, Eli production, Jackie show notes, obviously have a lot of contractors, Marlin, Serene, and then there's back-end stuff, right? Holly, who's our accountant, you have Mark Sherman, do this all the time, like when people ask me to list them all off, and I always miss like one of my employees and I feel terrible. So Chokey, social media director, Cassie, yeah, I got everybody. Wow, look at that. I got everybody. Today we're going to meet everyone at my pub. How many questions do you have for me? Let's talk about the most important person, Justin, what is? Oh, finally. Yeah. Yeah, good. Yeah, let's talk about him. Justin loves the tech side of things.  So it's very natural for him to be the CTO. I call him the X Factor for the podcast. Justin found his role in the podcast as the color commentary guy, the humor guy. Just when people come in here, it's a little stuffy, it's a little academic, it's a little bit organized, you know, you need a little chaos. And today. Okay, that's a good start. That's a good start. Yeah, tease me for not making it here today. Although Adam and I do a lot of the talking, if it was just Adam and I, it would be probably annoying to most people. It would be just lots of, you know, stuff about me, me, me and whatever, that's when Adam talks. And then it'd be like information, information, that's when I talk. And then that's it. And people would probably hate it. But Justin is likable and funny and he rounds it out. He's the X Factor. So without him, we would just have a lot of, probably haters. So we have Caldera today. That's the only commercial we have is Caldera. Yeah, and we've got to think of better ways than just always talking about my people. Why don't we use the... Electable stuff. Oh, Justin's using it. Yeah. Oh, you have. Justin was definitely the guy that I said, I don't know. Let's just see how Justin develops here. Adam loves to talk about how he likes to be a leader. So we let him think that. So he walks around and he tells people what to do and... This guy sounds full of this guy's talking about right here.  He kind of sees from all angles. He knows what we're doing. He's a bit like Santa Claus. There's nothing you're doing right now, Eli, that I don't know about. There's nothing Chokey is doing that I'm not aware of what she's doing. I mean, he texts me all the time and like tries to get me to tell him what I'm doing. But I mean, there is one thing I haven't told him. Like he doesn't know that I've been doing this. If he's happy, he does a good job. If he's upset, he like pouts a little bit. You got to tell me I pout, the f*** with that. He's responsible for partnerships. He closes all the deals for us with all of our awesome sponsors. I don't know, the problem is I don't have all the numbers in front of me right now. So I can't make that decision. So I'm sending her a message right now that we need to get on a call and then solve all this. And we need to be thinking forward so this doesn't happen again. He has no problem at all telling people how it is. This is exactly what I did about in December because I didn't. Everybody plays a very significant role. You got your eggs and your flour and your milk and your sugar. And you make a cake. And without one ingredient, it's disgusting. So we're all an ingredient to this cake that we call mind pump. Doug wears a lot of hats. I'm going to give the guy some props. He's an audio guy. He's basically the back end support. He's also IT. Doug's also finance. Recording the podcast, editing the shows, running around with a camera and a pack of audio equipment, filming the YouTube channel. Generally speaking, I can handle it. Doesn't mean I like it, but I can handle it. Making sure those videos are edited, shipping outs, t-shirts, handling finances, forming LLCs. What do you mean Adam's sneakers aren't deductible? Doug, listen, you don't want another audit. Plus, we have many expenses we need to go over. Opening bank accounts, yes. I have worn every single hat in this business. Late night viewing of all of our videos to make sure they're good. He's our spell check. Oh my god, Eli. Learn to spell. He's the guy we rely on a lot on Doug. Poor Doug. Give the guy a break. You know who gives the guy a break? Jerry. And then there's a lady that works in the front. And she appears, I mean, apparently she knows our base camp scheduling really well. So I don't know how she got access to that. 9, 14, 50, total. For a long time, I didn't sleep a lot. I'm now getting like seven, eight hours of sleep. Thank you, Jerry. Sal is laser focused on fitness, nutrition. Fitness and nutrition. He has an amazing, I would say, close to photographic memory, at least on some things. Well, do you remember Sal what everybody is wearing today? Adam Black shirt, black hat, mine pump, Justin Gray mine pump shirt, Doug, blue Viori shirt. Sal's photographic memory is very real. In fact, he's the dumbest one of all of us. But most people don't think that or believe that because he sounds so more. I just read a study that if you drink, they studied a bunch of men and men who drank more than three cups of coffee a day reduce their prostate cancer risk. So that's some light reading I had the other night on prostate cancer and the things that can lower the risk of prostate cancer. Sal writes most of our content, most blogs or written anything, white papers, the free guides that we have. He oversees our marketing team. So that's why he's the CMO. And he just naturally fell into that role. Our marketing department sent me about 20 blogs that they want me to do now.  And I think they're volunteering their time. They're probably fans of the show. And they want to be a part of this mine pump podcast. So, and I recognize some of them that've been here a few times. There's this one, you know, kid, nice kid. And he sits in sometimes when we podcast behind the camera. He does a very good job for us. He's involved with our YouTube channel, like posting videos. What would Doug do, what would Doug do? Okay, okay. I turned over the editing of the mine pump show to Andrew, the actual podcast. Yeah, there's a lot of stuff that goes on when the guys are talking before the podcast starts recording that it would just not fly on the show. You know, Sal lives to go. It starts talking about this and that. And Adam and Justin, they just like to crack jokes, make fun of each other. And sometimes all this stuff before the show. I do listen still to every podcast and every transition that he does. So, Andrew, I'm watching you. When in doubt, what would Doug do? I know that Adam's wife does stuff for us. Katrina is this long suffering companion of Adam, who just happened to look in the window right now when I was talking about him. She definitely does a lot of things for us, but I think it's for Adam. As a mother, she has her child to take care of, and then she has three more children to take care of. Four, I should include myself. Four more children to take care of here. And then there's other people that kind of flow. There's one, oh yeah, there's this young lady. I can't remember her name. I know Sal's the smart one, but he looks at me all the time. Like he doesn't know who I am. How you doing? How long have you listened to the show? Like, bro, I picked up his kids from school like three times. How do you not know who I am? She's very enthusiastic. It'll come to me in a bit, but that's it. I think her name is Chokey. When I posted it, they had said that they're happy to send more product, like anytime we post it. My impression of Chokey, again, like Andrew, she's quiet, extremely sweet.  Yeah, ready to go? Does it look good though? Cause last time it literally looked like trashy life. I can't say, I've gotten to know her really well, but what I do know of her, I really, really like. She's an amazing person. It's super run and done. I can't... What does that even mean? Like, did you go to school for this or? No, I dropped out of school. I can see now that she's taking over the Instagram account, she's doing an absolutely amazing job. Basically, sometimes I don't feel like answering the DMs cause I get like over a hundred every day. So sometimes I delete them, dude. Is this live? She's a trainer. She looks like a trainer. And sometimes she goes in the back and we let her take supplements and stuff cause she's cool. Hey mom, you know the Keon Omega-3 oil that you said you wanted? We actually have some. Do you want some? You can't take that. Yeah, I still said it was cool. So at Mind Pump, we have values that we follow. Mind Pump's core values. Authenticity. I was there that meeting. I sat in on that. Pretty sure integrity was on there. Yeah, it's a radical honesty. Proactive pride. Passion, integrity. I don't remember the rest. There's another P, I know there's another P. Pretty much Mind Pump core values is pretty close to what I live. I should get, I don't want to do that one now, okay? I bet Adam knows them all. He loves stuff like that. You should ask Adam, cause he probably is like, five of them, there's three P's, right? So there's passion, proactive, pride and work, radical honesty and growth mindset. God damn it, Doug, you know t-shirt time is my favorite time of the week. We can't.


Normally this time of the year, it's cold and frosty. That's why for its second year, the YMCA of Bemidji provides an indoor alternative for fun. In this week's community spotlight, our Josh Peterson shows us how area kids are fighting the frost. The thrills, chills, and spills of inflatable indoor fun is what brought kids from all over the Bemidji area to the Samford Center over the long holiday weekend. Fight the Frost was an idea that originally came from Fargo that was so successful in its first year that it's back for a second time. First and foremost, this is an event to have families get out and have fun and break up the winter doll drums. Second of all, we hope people come here because they see that it's the Bemidji YMCA project and they recognize that there's a concerned group of local citizens trying to work on a YMCA for Bemidji. While Fight the Frost is an opportunity for families and kids of all ages to be active and have fun, it's creating an awareness about the Bemidji YMCA and what the organization is all about. This is a family-friendly activity and the YMCA is about bringing our community and our families together. And in the wintertime, you just kind of get the winter blues and we want to make sure that we can just do away with the winter blues for even a day or a weekend and that's what this weekend is all about. While Bemidji doesn't have a physical location for a YMCA yet, the hope is that events like this help build support and some of the funds needed to get a YMCA project in the Bemidji area off the ground. Currently, the Bemidji YMCA is waiting on a study to see if the Bemidji area needs a YMCA facility and if it can support it. We hope to unveil a lot of the results here in the next few weeks. We have a lot of studies that are now coming to a front and then we'll be able to share that with the public. We feel very optimistic about it. We feel like we'll have good news to share. While the business side of the YMCA project plays out and its board waits on the results of the study, events like Fight the Frost are not only important to the families that take part, but to the community as a whole. I love it. I love that they're active, that they're a part of this, that they believe in the project and they're having a good time. The kids are having a blast. This is only the start of many more Bemidji YMCA projects to come. Already an event called Family Wellness Day of Play is planned for March 11th. Just another way to get area families out and active in the community. With this week's community spotlight in Bemidji, I'm Josh Peterson, Lakeland News. If you've enjoyed this segment of Lakeland News, please consider making a tax deductible contribution to Lakeland Public Television.


Everybody welcome back to the channel Today it's gonna be a little bit of a rambly ranty kind of video if you Know me at all or you followed the channel for a little while you'll know that I have a Interesting relationship with Ubuntu and canonical. I don't care for Ubuntu all that much Mostly because they chose Kenoma's their desktop environment when they change they change desktop environments But that's beside the point That's just a personal Preference really my biggest issue. It's always been that they've kind of forced the whole idea of snaps down everybody's throats and I don't care for snaps and some of the what I'm going to be talking about today is Kind of more personal, you know that these are personal feelings and You know ideas that I'm going to be expressing so we'll just start off with That that these are my opinions. They Some of them are going to be based on things that people from canonical have said and kind of my reaction to those things so Let's uh, let's talk about snap. Shall we snap? So first of all if you're a new linux user, you're probably wondering what the hell is a snap so the idea behind the The snap store snap craft snapd all these things that they're all part of the same idea It is a universal package management system that would replace the previous package management system of Dev packages and PPAs That Ubuntu has used since the beginning of time The idea is a good one If you know me, you know, I love they you are and I love they are you are because it's all your software things in one place You don't have to deal with PPAs.  Everybody hates PPAs They're horrible and nobody should want to use them. There should be a replacement form and So the idea behind the idea behind the snap store the snap craft or whatever Is a good one? So we'll just get that out of the way where we Where we have a problem comes in is the in the way that Ubuntu or canonical itself has licensed the snap store so in in a world in a in a situation where most of the things that Surround Linux specifically and especially in terms of package management In that world where most of those things are open source Snap is not open source. It's closed source is proprietary software. So that is a problem. All right, so Why is it a problem? Why does it why does it matter? Why what why should you care that? Snaps are close source. I mean it's still a good idea, right? I mean, why can't I use it? So I Mean you can use it obviously there's nothing wrong with using something that's closed source If it's closed source for either a reason which usually that reason is money Usually when something is closed source is the reason why they keep it closed sources, you know, Mastinero, right? in this case though the arguments from canonical of why Snaps are closed source is Several they have several arguments some of them make sense some of them don't make sense So the argument that makes the most sense is that PPAs aren't discoverable and it's the snap store is and if they were to open source it There would be multiple instances of the snap store and therefore it would have the same problem of PPAs of having If you want one program you'd have to go to this snap store if you wanted another program you have to go to this snap store and You know, that's basically the problem that they have now, you know P with PPAs and dev files and things like that. That is an excellent argument it's just it's it's by far the best argument that they have there is a Video that I'm going to link to in the description below of Alan Pope who is a He works for canonical. I'm not exactly sure what his title is I think he's like a the community spokesperson or something. I'm not sure Where he explains this stuff and that's by far his best argument of why snap should remain closed source because if you they open Source that there'd be an opportunity for somebody to come in and fork it and make their own snap store And therefore you'd have fragmentation which is You know, I love Linux but fragmentation is a big problem. That's the best. So that's the best argument the other one Which seems to be his main argument and I'm assuming that this is Canonicals argument as well not just popes argument is that and I'm gonna this is mostly a quote some of its paraphrasing It would be a lot of work to open source snaps The benefits of open sourcing snaps are outweighed by the work that would need to go into maintaining the open source project So this is a terrible argument. You're an open source company. I mean Maybe that's not true. Maybe canonical isn't an open source company and we just like to think that they are But for the most part everything that canonical does is You know an open source project. It's you know a boon to Boon to server All the flavors of boon to all of these things are open source now They have done closed source software in the past launch pad is one of those but they eventually open sourced launch pad And that's the one of the examples You know they use it he said One of the only reasons why you'd open source something is to have someone else run another an instance of it So that's the reason why you know people he said that People for a long time wanted them to open source launch pad and then when they did nobody forked it And he he said this as if that's the only reason why Someone would want to open source something and that's a weird I mean he he pulled that back a little bit, which is good because that's a dumb argument and It's just not it's not a good argument so My problem with the same of to this of Snaps being too much work to open source would be Then why are you open sourcing everything else? Why did why wasn't an open source to begin with if you if the transition from closed source to open source is such a monumental task Why it wasn't open source to begin with because by opening sourcing it you would go through and open it to the ability Of the community to participate in its development and it's you know security and all that stuff and it would actually be less work to develop because you'd have more people able to contribute to it now Yes, you would have the problem of People maybe possibly forking it and you know fragmentation happening. That's a Big you know problem But the argument that it's just it was just too much work doesn't really hold a lot of water for me, so That's the argument of why it's closed source. I guess I didn't really Answer the question of why does it matter? It matters because closed source software can't be audited It can't be monitored in any way. It can't be We have no idea What's going on with the snap store or anything now snaps themselves the individual like packages of snaps those things are Open source. Okay, so you can get into the programs themselves and audit them. That's great But the thing that distributes snaps is closed source And that's uh, you know, that's the problem, right? You can't we can't get in there and see what the hell is going on You know, how do we you know, we can't monitor that stuff for security flaws We can't help develop it That's if that's the thing about open source is that what if you have a program or something that you're you know? Using you can go through and actually see the code and if you understand code You can go through and make sure that it's not doing anything nefarious I'm not and I'm not saying, you know, canonical is evil. I Don't think they are but I do think that canonical is a company and they have monetary goals and It's possible that they might someday be driven by those monetary goals to Exert control over the snap system in some way that goes against user interests I don't really have an example, but it could possibly happen, right? Because because because they are a company and they eventually someday will have stock You know shareholders or whatever and it might Come up where they have to can exert control over the snap store, you know, like I suppose they could Start promoting their own they could pull an apple, you know They could start promoting their own software over other open source projects in the snap store They could start charging 30% you know, they can start charging fees to be I mean, I don't think that that's gonna happen But they could because it's closed source they control it all in their iron fist And that's where it becomes a problem. So that's the reason why it matters And it's also just really weird it doesn't fit with the Idea behind canonical at least as I have it I I always consider canonical to be an open-source company, you know, and maybe like I said, maybe it's not And there are companies out there that are you know Duke open source It also have closed-source stuff. But when you think canonical, you always think of you know open-source software and the fact that you know It's not, you know The fact that it's not open-source Just it doesn't seem to fit with you know, what canonical is at least in like an in my in my view of it so There's another good example of why can Snap should be open-source and It's a really weird example, but when you download snapd it creates a folder in your home directory called snap It's not hidden folder. It can't be moved. It can't be renamed.  I mean irrationally just tear my hair out furious To the point where I just won't use snaps. I mean honestly I can get you know, though. I don't like that Snaps are closed source Snaps doors closed source. I don't like that, but I use other closed-source software. I use, you know telegram and you know, I use Discord and I use Google Chrome on occasion, you know, so I use other software that is closed-source So, you know, it'd be hypocritical of me to complain too much about it, although I would complain But I wouldn't It's the it's the stupid thing about that file that really just It tips it over the edge where I just can't use it So that's in the end this entire rant just had me talking about all that stuff Just and end up coming down to there's a file in my home directory that I don't like and if the damage Snaps doors store was open-source. Maybe somebody could fix it. There's a bug on a bug report front for snapd That is like three years old maybe even longer about that file and it's just considered wish list And so it's gonna be one of those things. It's just never gonna change because it's just there anyways, so I Told you it was gonna be a ranty You know Rambly video and it was So if you liked it give it a thumbs up if you didn't give it a thumbs down I would love to hear your comments about the snap store in the comments below if you do you use snaps? Do you does that snap file in your home directory? Cause you as much angst as it does me. I would love to know Let's get into conversation because I would love to find somebody who actually doesn't mind it because it it Just tans my height If you want to support the podcast in any number you can do so in an any number of ways follow us on Facebook on Twitter You can support us on patreon at patreon.com slash the linux has you can also subscribe which takes literally no effort We do videos six sometimes seven days a week. We also do a podcast every week So there's just tons of stuff that was going on and you can only find out about those things if you subscribe so Subscribe we appreciate it. We'll catch you next time. Thanks for watching


Let us get started with the lab, so here is the lab assignment for today, so in this lab you are going to understand various protocols that operate at the network layer. So you will look at how IP fragmentation works, you will also look at the DHCP protocol and ICMP protocol, so let us see what the exercises are. So the first exercise is on IP fragmentation, I mean if you have covered the concepts you will know that, so what happens is this is your host and you are sending some packets over multiple hops, so these are this intermediate routers, let me call them R1, R2, R3, finally there is another host at the end point. So this is the path the packets are going to take, now the empty new size which is the maximum transmission unit that can be carried on a link can vary from link to link, Ethernet has a size of 1500 but there may be other technologies in between that may have different size, for example if you are using a PPP link for in the middle you can have a size of only 512. So whenever you send a packet that exceeds the size of the underlying maximum transmission unit size, you have to break up the packet that is IP fragmentation, I will not get into too much detail you can look into the slides to understand how IP fragmentation is done. So this exercise is going to show you a demonstration of what is happening to the IP headers when the packet gets fragmented, so what you are going to do as part of this exercise is you will first we have provided some scripts called send UDP I think, I will, so I think it is send UDP but does not matter the name, so this is a script, this is a code that has been provided for you, what this code does is it is going to send a packet of the specified size. So what you are going to use is use this program to send packets that exceed 1500, so you should definitely send a large packet that is greater than 1500 let us say 4000 and you could also try sending a packet that is under 1500 let us say 500 and in each case you can see what is happening when the packet goes out, so in your particular case your host is connected over Ethernet which has an MPU size of 1500, so what you are doing is at the protocol the socket programming level you are generating a large packet of size 4000, so this means that your network level which is the IP layer is going to fragment this particular packet and create multiple fragments whereas in this particular case where you are sending only 500 bytes it has no reason to fragment, so it will just send it out. So when you are using the send UDP dot C you have to specify I mean I will let you figure out how to use the code it is kind of rather straight forward, so use this code to generate a packet and send it out and experiment with different packet sizes and just like before you first have to run TCP dump with the right filters then you use the send UDP program to send the required packets and then you are going to stop TCP dump and analyze your trace through wire shark where when you are analyzing the trace to wire shark you will look at the IP headers to see how the packet has been fragmented, so that is part of exercise 1. So when you are using this IP fragmentation a point to note is this is a send UDP dot C it will generate a single IP packet of a given size and it is going to send it to a specific destination IP address which destination IP address you should use try both an existing host and a non-existing host and see what happens that is something for you to figure out. The next exercise is on DHCP which is basically this dynamic host configuration protocol. This protocol is used to obtain an IP address apart from obtaining an IP address often you get additional information such as who the DNS server is, who your next hop router is so on so forth. So normally in order to run DHCP you need root permissions since you may not have root permissions on your machines if you have you can by all means go ahead run this particular so basically all you need to do in case you have root permissions is in a terminal you have to type DHCP and the ethernet the interface information is 0 yeah what you need to type is DHCP not DHCP because that is the program that is going to execute the DHCP protocol so just type DHCP is 0 on any terminal with root permission so you run TCP dump in a terminal you run DHCP is 0 and then close the TCP dump open it via shark you will see a trace but if you do not have root permissions that is also fine I have provided you a trace within that Google Drive in fact your coordinator will also provide you that information all you need to do is evaluate that particular trace that I have provided and in the process understand how DHCP works and answer these following questions. Exercise 3 is about this protocol called ICMP it stands for internet control message protocol so the objective of ICMP is to provide some kind of feedback at the network layer so the routers whenever they are unable to do a task for example if they are dropping a packet mostly they have no obligation to tell you that they have dropped a packet but sometimes they do tell similarly end hosts also if you are sending a packet to a port where no one is listening at the end host the end host often sends a packet saying no one is listening on this particular port routers for example could tell that there is no such destination at the other end but that is totally up to the router to tell some routers do not reply back based on ICMP some routers do so the fact that you did not get a reply means you do not have much feedback on what is happening so this exercise 3 is about generating different type of ICMP types type 0 code 0 type 3 code 3 type 8 code 0 if you are not clear what it is I would ask that you look at the ICMP slides to understand what this type and code is you can also Google to learn a little bit more about the ICMP protocol. So basically in this exercise you need to figure out what do this type code refer to and accordingly use that particular tool to generate ICMP packets corresponding to this particular type. So in the last exercise which is exercise 4 we are going to make use of this very special tool called trace route you are free to use either trace route or trace path whatever is installed on your system both work in a similar fashion so I do not know what your workshop coordinators have installed but they should install one of either trace route or trace path trace route is slightly better than trace path but it really does not matter. So what you are going to use is use this tool trace route or trace path that relies underneath on ICMP to determine what is the path your packet is sending so for example packet is taking for example if you were to say trace route www dot let us say google dot com from your host it is going to take many hops via some intermediate routers. So what trace route will tell you is the name of this intermediate routers how much time it took for the packet to go from you to that intermediate router and also at what hops how many hops did your packet take so across every hop so first hop this is the router second hop this is the router third hop this is the router. So it is going to give this particular information so you can experiment using trace route to find out the paths to different hosts. So when you are doing it ensure that you are always selecting a host that is not on the same physical LAN. If you for example do that it will just be a hop count of one which is not giving much information. So ask your workshop coordinator to provide you a name of a machine that is many hops away from your particular host. By the way there are also some trace route utilities available on the internet just do a google it will provide you a command where you can type trace route to whatever destination and it will do for you. So for example this is a tool that is available online there are in fact many such tools I just googled quickly and I found this. So for example let us try something else www.readif.com ok. So if you do it is processing this information. So as you can see from wherever this particular server is located it is kind of figuring out where all it is going. So it is starting from here it reads some Juniper whose IP address is here then it reads some code 21.hardsner. So if this is something located far away. So it is kind of trying to figure out what is the route from wherever the server is located looks like it is located in some country or not in India. So it is going through some so it is going to give you the name of the intermediate routers how much time it takes to reach this particular routers. Something that you may notice is this thing where it kind of hangs it does not give any additional information that is because the other routers are not responding to or in other words they are not getting back to you with the ICMP replies that is why you cannot find out what that information is. There are many such tools you could use any of the tools to kind of figure out the trace route. So more or less that is the lab for today and I am open to taking questions about the lab. We will do this for the next half an hour after that we will do some concept based questions. Actually madam as far as Gratitude Sharp is concerned. So who invokes this Gratitude Sharp and at what point of time exactly it is being invoked? Okay. Okay. So Gratitude Sharp as I said what you have used is a tool that you that they have given at the user level to run. But typically Gratitude Sharp is incorporated as part of the kernel often whenever you change your IP address it is automatically triggered internally within the kernel to send a Gratitude Sharp. But by the way that is again if you do a TCP dump and see I change my IP address and I do not see a Gratitude Sharp that is very implementation specific. Certain implementations implement certain may not do it. So typically it is a feature that comes about when you are changing your IP address or your MAC address for that matter. Okay. One more question. So that is inside the ETC HOSTS configuration file. So there are basically two entries I found. One is for loopback address that is <IP_ADDRESS> having the local host as the host name and one more entry that is <IP_ADDRESS> having the corresponding host name and whenever we are specifying the host name command so it is giving us that particular host name as the name of the host of the machine. Okay. Exactly what this <IP_ADDRESS> signifies because there is no interface being assigned with this particular address. Yeah. So typically in a given machine you have something called local host IP address that is what corresponds to <IP_ADDRESS>. This address is useful especially in fact when you do socket programming exercise which is coming on the last the sorry not on Friday this address is very useful. So for example you are writing some sockets you are writing some server you want to write some client. In a typical setting maybe your server is running somewhere your client is running server somewhere but as a programmer you want to test the functionality. So what you do is you run both the server and the client on your own machine where but typically the server client work with IP addresses and because they are running on the same machine you will use this local host IP address to achieve that. So basically this is the same address that is going so each local host is assigned this IP address so that you can use it for your socket programming kind of a thing. So apart from an IP address which is external where everyone else can use it internally if you want to communicate between processors using sockets this address is very useful. What about the <IP_ADDRESS>.1? Huh. So whatever. What this signifies <IP_ADDRESS> okay that is being assigned as the host name. What has it been assigned as? Host name if you give the host name command so that particular name is going to be given for you 127.0. Yeah so anything in this space is all related to this local host loopback thing itself. I have to kind of begin once on yeah I think that is related to IPv6. I mean I really have to I mean I vaguely remember it but I actually have to begin a little bit more to answer that particular question. So with the use of IPv6 certain things have emerged that you want to create what is it called an IP address that IPv6 has more sophisticated features where you do not even need an IP address but you can communicate within a particular local area network without an IP address some kind of a thing. So this may be related to it but as I said I really need to look it up in order to answer that question. So let me I mean I will get back to this question. Good morning ma'am and actually there was some problem in running ARP script command and I tried to install it by sudo apt get install ARPing command. Are you talking about ARPing? ARPing. I had mentioned this earlier also if you use if the kernel already has ARPing and you try to install it again your network interface card will not work. So don't install it it is already there as part of the kernel. Good morning ma'am. Tell me. In lab session while we are trying with SSH session in TCP dump as per your instruction we tried with two different terminals but this TCP dump is not capturing the packets from two different terminals and we googled for this SSH and put it in a single command line both SSH and TCP dump even then it is not capturing and the capture file shows zero bits of data. So what could be the potential problem or where would have went wrong? So as I said something you have done wrong because TCP dump will capture whatever is going out of your interface. It is independent of how many ever terminals you open. Maybe you didn't give a right filter at the TCP level and I mean unless I actually know the sequence of steps you followed it's not easy to debug. You can take the help of the TAs in the afternoon to debug it. Thank you. Okay when I am running one program one client program and one server program using socket programming, TCP socket programming we are I am running both the programs in a single host. We are tracing in the background using TCP dump or what are the packet transmission are happening between them? So TCP dump I mean off hand I don't know maybe I wouldn't be surprised if TCP dump does not capture those packets because they are going through the loopback it is not quite going out of the host. TCP dump typically captures packets that are going out as well as coming in through whatever interface you are specifying. Since these packets never leave the machine you may not be able to capture it but it is possible to change the setting like in other words that minus I interface if you were to give the loopback interface then you should be able to capture it. Okay thank you ma'am. Thank you so much. There's another question. Hello. Yeah whenever I am going for a filter in workshop for IPv6 so most of the packet that is coming with the protocol MDNS is a multiple DNS service. MDNS multiple DNS is showing it is a protocol but can we mention MDNS as a protocol because it is a service so far in my knowledge. Why it is shown in the protocol in the workshop if I filter it for IPv6 packets only. MDNS protocol it is multicast domain name service. Oh MDNS. It is showing if I yeah yeah yeah it is multicast DNS that is the showing but if I filter it for IPv6 packets only through workshop can we declare MDNS as a protocol? No no so that is again something very internal to wire shark if for example as part of it some IPv6 header was used it may show it as part of because it happened to use an IPv6 header or internally there is an IPv6 address as part of the DNS resolution it may show. While doing this gratidious ARP how many number of nodes this particular node is sending this ARP in a subnet or beyond the subnet? Anything that is related to broadcast is contained within the subnet it will not go outside your only in the subnet. In fact I will be more in fact that is also a little bit loose anything your broadcasting will be contained within your local area network it could be an extended local area network but it is all whatever you define it as a link layer network it would not go. Typically the subnets you could have multiple subnets on the same physical network in which case it can reach other subnets but typically that is not the case. So it it does not go beyond if all switches are interconnected it will be contained within all those interconnections whenever it hits the router it stops at the router. Hello. I can hear you. Good morning ma'am. Question is about network simulator. At present time we used many of a simulator which one is best simulator in mobility just like as Glomos in NS2, GNS3 or QNAT. Okay see I mean I have no experience with using any other simulator other than NS2 so I really cannot compare most of the research community tends to use NS2 because it is open source and you often we would like to write our own modules as part of the simulator because we are doing research there is nothing that is out there we need to write our own protocols. So for which NS2 is very conducive some of these proprietary things do not let you access the internals that easily from a teaching perspective when you are trying to do maybe some of these other simulators are better because they come with nice graphical user interface with lot of features for teaching but since we use NS2 for research we use it for teaching also so I do not have an answer. Typically in any of the research papers we typically see NS2 and not these other simulators but they do appear once in a while but that is not common. Good morning. In TCP dump or Wireshark can we directly interface through some programming language and we can directly access the data. So TCP dump is basically collecting data into a file and once things are in the file you can use any scripting language or whatever other programs you want to evaluate the data to mine it in whatever fashion you want that is totally available. So you are running TCP dump collecting the logs and then you can run scripts over the logs to extract whatever information you want. Yes that is very much feasible. One more question. Namashaya this is like this is regarding today's lab like the IP fragmentation. So when we like in the TA of this workshop like when we are doing the lab we had given the total data as like 4000 and then we got the first fragment as like we are in the 100 Mbps subnet and then we got the first fragment as one first fragment contains 1480 bytes of data and then like second fragment contains another 1480 bytes of data and the next in the third fragment it showed us like the remaining is totally made a count of 4008 instead of giving 4000. So we would like to know what is that 8 bytes which the IP fragment added on the data. Well I mean it is like giving away the solution I will give you a hint I will not give the solution because people others also need to figure this information out. The name of so you figure out it is a header of some kind that is also being counted. So you figure out what this header is and you can also look a little bit at the code you do not really need to know socket programming in a detail but it is kind of self-explanatory. If you look at the code you understand what is happening so there is some headers that are getting added so you kind of look into it to figure out where that 8 is coming from. The name of the program also should give you a hint. Thank you thank you ma'am. I am working with ARP I do not have any interest in the ARP but working with the Greece's ARP while using ARP with the request and reply. Well reply I found out the answer was our target MAC address. While using request I do not find any thing like MAC or something. I can differentiate how does the request and reply actually work with your Greece's ARP. See I do not so one thing which I have seen when people do this ARP exercise is getting confused with the link player header and the ARP payload. So if you see this ARP packets themselves will have an Ethernet header attached to it and within the Ethernet header there will be a destination and a source MAC address. So that is one aspect and within the ARP content itself which is the payload of that Ethernet packet also there is a source and destination address as part of that payload. You have to be clear what is it that you are talking about. So a reply or a request ARP is broadcast. So no matter what you see you will see at the MAC level the Ethernet header the destination will be broadcast. But if you were to look within the content of the ARP packet itself which is talking about what the destination MAC source MAC is things may be different based on whether it is a request or a reply. And that said it is also heavily implementation dependent you could for all practical purpose repeat the same IP address and the MAC combination in both the source and the destination because you are generating that particular packet you could put it in both the fields within the ARP packet or you could put it in the source ignore the destination depending upon whether it is request reply. So that is a very much an implementation artifact. So in different implementations may fill the data differently. What matters is the fact that the MAC header destination is broadcast and within the ARP packet the source IP and the source MAC will correspond to your own MAC and the target can be anything else it is it is all right if you do not fill it properly. Is that answer your question? Yes, thank you madam. My question is regarding to the use of Weissach tool ma'am. Yeah first question how can I capture other computers packets on the same network ma'am? So as I I mean I mentioned this earlier also in order to capture other packets not any packet that comes to your own machine whether be broadcast or unicast you can capture. But if you want to capture other people's packet I had mentioned this earlier you need support from the hardware as well as your driver not all drivers hardware support it you should basically put your card in what is called promiscuous mode then you should be able to capture it. But as I said it is very much dependent on the card that you have and the driver that you have. Yeah second question. Yeah that is how to capture packets using Weissach in a switch switch the ethernet work. Yes I think the concept I mean there is no difference anything so switched whenever you use switched ethernet more often than not you will not see other people's packets because the switch if it is clever it would have learned that they are not directed towards your port. So it will not pass those packets on your interface so it is not possible for you to capture. Only whatever switch design means to pass to your host you can capture. So that is one of the advantages of switching it hides a broadcast of course if it is being broadcast you will get but if it is some neighbor transmitting some unicast packet to some other neighbor you will not be able to listen in on that conversation. Good afternoon ma'am. Ma'am my question is related to SSH protocol yesterday when I am working on SSH protocol and I am giving this I was giving this command but it always ask for password root password. Root password. So when when I give this password yes and I give this root password it didn't take so what password I am I will give host or host to password. See typically when you are SSH'ing into the other machine you have to specify what your username is. So for example you will do SSH you have to for example if I am logging in into my machine whose username is Chebrolou I will do SSH Chebrolou at IP address of my machine. So where if you do not specify the username it typically gives it as a root. So it is often a good practice to specify who are you so typically it will be SSH username at the IP address or the host name. So once you type it in it will ask for a password and the password should be of the not your local machine password it should be the password of the machine into which you are SSH'ing into. Ma'am I give that password to that particular user. Yes ma'am I specify the username then IP address and I give the password also but it's not a SSH'ing password. Then I mean something wrong with maybe that password is incorrect. Again this question I would say bring it up with the in the afternoon session with the TA because it needs more detail. I don't want to get into the detail during this session. Please contact I mean I will also be available so bring it up in the afternoon during the chat session. Can we make R-Ping for the previous sub name is maintaining under the same gateway? See R when you use R-Ping you basically what it does is it generates an R packet where the content of the R packet is you will specify your IP address and MAC address combination and send it out as a broadcast. So this packet will reach all the machines that are part of that particular physical local area network. Typically that is often the same subnet so they will not go beyond your subnet. Ma'am in the same land suppose in our in our college local area network they are we maintaining different subnets different subnets for the different network. So my question is whether we can apply R-Ping to generate various R-P or not. I mean what do you mean apply if you apply it apart from your own subnet it may go to other subnet also but often they may not have any need for it because their router as soon as it detects that this is not part of the same subnet it will contact the router. So it is the case that when you generate this it will go to other host belonging to other subnet because they are part of the same physical land but that information is useless for them because they are not part of the same subnet because the machine will contact the router rather than so it is just discarded or it can even be cached but it won't be used. See if you are switching them both for example you connect the land and your wireless land via layer to switch then whatever you send in your physical the Ethernet side of it will go to the wireless side of it also that means they are both in the same extended land setup. So it is a broadcast it will go everywhere. Hi Maan yesterday in the exercise 2 we were supposed to send ARP packets within the subnet to a host which is reachable it was mentioned that there should be four ARP packets that needs to be exchanged in the list when we trace it but we just got to so could you just tell us why it should be four. So again I mean I won't be surprised if it is a different number because again it's a function of the implementation and so on so forth typically whenever you are trying to reach well let me say there are multiple factors at play here. So if you have used ping to reach this non-existent host and you did not use minus c option there in other words you just ran ping the address and then you are running TCP dump to capture the very first packet of ping you try to resolve its MAC address and you try you send the first ARP no reply has come. So ARP is going to time out and again it will try then again no reply so there is a typical number which is I don't know whether it is 3 or 4 whatever it is it will try those many number of times and it will time out but then what happens is then the second ping packet that you have sent is waiting in the buffer right then it will look at the second ping packet look at the IP address and again it's because it doesn't have it in the cache because there is no MAC corresponding to it it will again initiate another ARP for that. So if you see this you may see 10, 20 or even 50 ARP packets going asking for what is the MAC address corresponding to this particular IP address. So the way if you really want to know the ARP timeout in other words how many times does it try before giving it up you should use ping minus C1 which is basically telling ping only with one packet then you will see how many times ARP tries before giving up that number I don't know whether it is 3 or 4 but that is the correct answer. Ma'am that would be for a host which is not reachable right. This will be for a host that is not reachable yes. Yeah but I was asking for a host that's reachable. For a host that is reachable what happened you are saying you saw 4. So during periodically as you are sending packets whatever is in the cache at sometimes gets cleared out in which case it will can send ARP again if it's an extended ping which is you are doing for a again it's a configuration parameter for some the cache entries are stored for a long duration for some they are stored only for a few seconds. So each time it gets cleared out it will send an additional ARP so it is a function of what this value is said to. Thank you. In wire shark while capturing a frame we have come across the checksum field in network and transport level is it possible for us to capture packets in which the checksum is not correct and I would also like to know that error control that we have learned at Ethernet but we don't see these fields when we see that space in wire shark. That's all my question is over. The second portion I did not understand so let me answer the first portion then maybe you can ask the second portion. In order for you to capture packets where the checksum has failed so naturally when you are sending out the packets you have just calculated the checksum so there is no scope for it failing but if you are receiving packets from somewhere else it's possible for the checksum to fail but that is a function of the underlying fiber what errors has it introduced so on so forth. Typically over a fiber it's not easy for you to what is it called see that kind of losses corruption where you can actually capture where the bits are corrupted with wireless it may be slightly better but even there also the chances of you capturing a packet where the checksum has failed is very difficult. So in reality capturing such packets is not an easy task. It doesn't show in the wire shark field. It doesn't I mean it does it does tell you whether the checksum has passed or not so when you click on it it does show you the CRC checksum. My second question is in MAC layer also we have error control but when we open that phrase for the Ethernet we don't see any checksum or error control. So only field that we see are very few but that is definitely not destination source and type. Yeah it is conceivable that see normally the checksum when you are sending a packet out the checksum field is appended at the tail and often the checksum calculation of checking whether this packet has been received correctly or not is implemented in hardware not in software. So you do that calculation if it has failed you just dump the packet it doesn't even come to the driver level. So wire shark or TCP dump can only capture those packets that are at the software level only then you will it will make a copy. If this packet is being dropped at that hardware level itself and mostly the CRC implementations are in hardware you will not see it. Thank you. Hello. Yes. Actually it is regarding the lab one. There was one question about DNS and we were supposed to get the DNS IP address from result.conf file but at our place it was having the local address that is <IP_ADDRESS>. So I just want to clarify whether it is required to have the DNS sent you over there or does it fetch it from the gateway router or how exactly then work out when actual DNS IP is not there in the result.conf. Okay. So it looks like you have more latest version of Ubuntu definitely I think with what Ubuntu 14.04 do you know? Maybe we need to get back and check that. So the earlier versions of Ubuntu had DNS implemented via the DNS server where the IP address of the DNS is or even the host name is stored in the slash etc.resolve.conf in the later versions of Ubuntu I don't know from where definitely 14.04 implements it where the local machine itself implements the DNS service. So when you are making a query your DNS server is running within your own host and it is replying that is why it shows you as a local host address which is <IP_ADDRESS> address. What your internal DNS server is doing is contacting the other so it does lot of caching so it will serve locally based on the cache but if it is not there in the cache it will contact your department's DNS server but this information is not easy to access because the so whenever you do DHCP whatever information you get this local DNS server gets that information and stores it but you as such that etc.resolve.conf is no more valid for later versions of Ubuntu. And maybe because of the same reason we didn't get the host name I mean it was not there in the host file as well so yeah whenever we used to try to get host of DNS it was giving error. Yeah because as I said it will give you local host if you try to because that is one who is serving your DNS request. Okay thank you. So we will now move on to some concept clarification. Okay this question is from remote center 1, 2, 6, 3. So what was asked is the first question is what is a backlogged host. So backlogged host often means that this is a host that has lot of traffic to send. The buffer is full but it always has a packet to send if given an opportunity. So that is what the definition of a backlogged host is. What the second question that was asked there is why are the number of repeaters or hubs limited in Ethernet LAN. Instead why don't we connect many repeaters such that we can make a link of larger length by avoiding attenuation. So this question it's an interesting question. So what happens typically is each for example again I am talking off my head these things may not quite be true. So Ethernet has multiple standards 10 base 5, 100 base 5 so on so forth. For each of the standard there is a limit on the number of repeaters you can have for example for the 10 Mbps Ethernet the limit is 4 repeaters and I think the separation is about 500 meters between them leading to an overall length of 2500 meters. By the way I am just telling this off my head but I would think this is correct but anyway the concept doesn't rely on the numbers. So the reason the question is why should we restrict ourselves to 4 repeaters if we had used many more repeaters we could extend the length all the way to 10,000 meters on so on so forth. I covered this again as part of the concept there is a limit in Ethernet on the frame size which is a function of the propagation delay which is the two-way propagation delay let me call it 2 times TP. Now the reason why this relation holds is because this is what will facilitate collision detection properly in other words you should continue to transmit bits till you get a feedback in the form of so the first bit went and you got a feedback in the form of twice the propagation delay you shouldn't stop before this. So now what happens is if you were to extend this length what is going to happen is this value is going to become very large. Now if this value becomes very large your frame size which is the minimum frame size also has to be large because you have to continue to transmit during that time. Now if you say insist that Ethernet use a frame size of let's say 3000 bytes or whatever bytes it is then if you have smaller size packets to send you unnecessarily have to pad them so this is unnecessary wastage of resources. So you want the frame size to be so there is a trade of here you don't want too big a frame size because then there is a lot of redundant padding information you have to send and if you go with very small frame size then you cannot support longer Ethernet segments in other words you will be restricted to a few 100 meters or 1000 meters and so on so forth. So this frame size that currently Ethernet use is a compromise between the length you want to achieve versus so for 2500 meters this frame size is about 512 bytes so that's a compromise that people have worked out. The second question many people have asked in fact this has come from multiple remote centers variance of this is why do we need error detection and correction at the link layer when the transport layer also does it in fact network layer also does some kind of error detection so what is when do you do error correction when do you do error detection at what layer should you be doing it so there are these aspects of things related to it so let me explain what is happening here. So which layer should you do error detection so let's first just focus on error detection for now let's get to error correction later so where should you do error detection should you do at the link layer should you do at the network layer should you do at the transport layer. Now there is a principle called end to end arguments that is used extensively I mean if you do any of these research side papers there is a famous paper called end to end arguments in it internet design so when people were originally designing internet of course they had to answer some of these questions if you look at a functionality where exactly should be implement this functionality which layer should be implement this functionality certain things like this error detection can be applicable at multiple layers another such functionality could be duplicate packet suppression you can see duplicates at the link layer you can see duplicates at the network layer you can see duplicates at the transport layer application layer so on so forth. So where should one suppress duplicates so there are many such functionalities and it's a question of where should one apply this particular functionality. So what the end to end argument suggests is that you should apply this functionality at the highest layer possible by which I mean application layer but in reality things are slightly different I will get to that why is it that you should apply at the highest layer it is because things can go wrong. So for example let's say you decide that I will apply error detection only at the link layer so fine when you send a packet from one node to the neighbor that is where link layer operates you were able to detect some errors and you were able to drop that packet or take some corrective action because of it but what if your network layer corrupted the bits for example the IP protocol all of these involve reading from some memory writing into some memory when you are reading into the memory or writing into the memory let's say you corrupted some bits. Now who is going to capture this errors similarly if you say fine then I will implement something at the network layer then the same logic applies at the transport layer what if some corruption happened at the transport layer. So if things can go wrong if any of the bottom layers the best way to handle it is to subsume all these and handle it at the highest layer possible which in this case turns out to be the application layer because then you can kind of take care of all the errors that are happening at the link layer or the network layer or the transport layer but what happens in reality is that certain times there is a trade off if you do everything at the application layer efficiency is going to take a hit. So for example if you look at error detection let's look at let's say we are using a wireless link which has lot of errors. Now if you are not doing error detection and correcting it through some ARQ mechanism you are now putting this burden on the application layer which by the way this packets may have traversed many hops over multiple links to reach the other destination. So if you are not correcting at the link layer then the burden comes on the application layer and that becomes a very big burden which will lead to lot more delay or increase in your response time. So the contrast so the trade off is if you are doing at the higher layers it is good because you are taking care of lot of errors but if you push everything there your response time or the delay is going to be significantly higher. So you should use your judgment in deciding where you want to apply functionality. So when it comes to error detection if you are very confident that your link the chances of it corrupting your packets because you are using a fiber optics link you don't have to do error detection at the link layer because the link is very reliable whatever errors that creep in you can handle it at some of the higher layers. But on the other hand if you are using a wireless link which can corrupt packets significantly you may want to do error detection at the link layer because if you quickly correct there your response time is going to be much better. So those are some of the reasons that go into deciding where you want to implement certain functionality. Lot of this error detection and recovery happens at the transport layer because many applications want that feature. So if you instead of telling I will put the burden of doing this on each and every application it makes sense for you to implement it in a common place that is the layering concept and let each applications use this. In the hope that the number of errors that will creep in beyond this is minimal but you may always want to check at the application layer the integrity of your data. So for example if you are transferring a file you may want to do a hash of the file at the end to check that indeed the file I received is the same as the file that was sent. So most applications do this as well but the burden of recovering from errors is on the transport layer because many applications need that functionality. Now coming to error correction the question is when do you do error detection, when do you do error correction? So for that again this is a function of what the error rates are. So typically what happens is this is your link and let's say you have 50% loss rate. In this type of cases where the error rates are very high correction makes sense because almost every packet every other packet there will be some errors. So you might as well correct those errors instead of if you were doing error detection what would happen is you send a packet this guy will detect that the packet is an error then it will send a saying see the packet is an error that let me call it as a knack then this guy is going to retransmit the packet let me call D1 D1 again it is going to retransmit. So this results in around trip time. For cases where you do not want to incur this overhead and when typically that cases happen when the loss rates are high you want to do error correction. In fact there is a problem as part of the bodhi tree that in fact gives a trade-off between what error rate one will do better than the other. So I would if whoever is interested in understanding this I would ask them to work out the problem to get more information on when does it make sense to do error correction versus error detection. This question was asked by center 1314 as well as 1085 as well as 1295. Moving on so another question that was asked I think by center 1107 is how is performance improved in CSMA CD compared to CSMA. So CSMA is just career sense multiple access all that is telling is before you transmit you sense the channel if you find there is a career which means energy then you refrain from transmitting. Contrasting this with CSMA CD where it is adding this additional feature called collision detection which is saying that you also try to detect if there is a collision. Now why is this better than CSMA? So what happens if you were to employ just CSMA is you are careful so when you before you transmit you are sensing the channel let us say you did not find any transmission and you sent your frame. So this is the frame but because of reasons other reasons it is very much conceivable but someone else also sense the channel at the same time as you or even slightly off if this was within the round trip time I again went into a lot of detail in the videos. It is possible that you may not have received the earlier transmission so you may still have sense the channel idle and transmitted so this is going to result in a collision. Now if you had collision detection you would have detected the collision somewhere here and stopped the transmission. This portion on which I am showing in this particular fashion is not going to be wasted anymore in CSMA CD whereas if you just did CSMA CA if your frame is really long you may continue to transmit for a really long time only here you would stop and then access the channel whereas in collision detection you would have stopped right here. So this wastage is prevented in collision detection if you employ collision detection. So this is remote center 1107 ok. Another common question that was asked again by multiple centers is can we assign anyone's IP to our own MAC address basically this is called ARP spoofing. So how does one tackle this kind of ARP spoofing? So as I mentioned ARP is basically a protocol where if someone says what is the MAC address corresponding to this particular IP address you get the MAC address and thereby receive the packet. Now in ARP spoofing what happens is the following. So in ARP spoofing so there is this host let me call host1 whose IP address is h1 and MAC address is h1. Now there is this other host2 which is a malicious host what it is trying to do is capture packets corresponding to host1. So what it will do is it has a different MAC but it is going to assign itself the same IP address as host1. So whenever a request comes that says what is the MAC address corresponding to IP host1 this host somehow I will not get into the details of how is going to tell that this corresponds to MAC h2 and thereby capture packets corresponding to host1. For example you could do this by launching a denial of service attack on this bringing this host1 and then using gratchus ARP broadcast this so that others will start to contact you. There are many ways to do this but let us just focus on how so this is called ARP spoofing so how does one go about detecting such ARP spoofing and correcting this particular mechanism. So there are multiple ways lot of these switches the Ethernet switches which you use do come with features to detect that kind of ARP spoofing. So basically any switch which has multiple ports so this host1 may be on port1 port0 and host2 may be on port1 and if it sees ARP from here as well as here and figure out that both are advertising their different MAC addresses but both have the same IP address it is then going to raise the flag and send an email to the network administrator saying that something like this is happening. So lot of the switches do monitor this kind of information but a malicious user who is really intent on ARP spoofing can for example launch this denial of service attack bring down host1 and do something like this. So it is in general difficult to prevent some of these the best way to overcome some of these things is employ security at the highest level by which I mean this guy is trying to capture packets of host1 basically from some server. So the server has to have some cryptographic techniques where it has to identify that it is indeed host1 that is accessing my packets and not someone else by insisting that for example through a password username mechanisms or some cryptographic keys that are exchanged between them and thereby take the help of these switches also to ensure that this is happening. By the way this is a bit more complicated topic it falls under security I do not want to get into too many details but at a high level this is how things are currently you need to address things at a higher layer in terms of security. This question has come from 1, 2, 2, 2. So another question which what is the relationship between bandwidth and transition when you are doing encoding this has come from remote center 1196. So let us look at NRZ encoding. So in NRZ encoding you have this 1s and 0s represented in this particular fashion where you have a sequence of 1s and 0s this is being sent at a specific rate typically when we say something is being sent at 1 megabits per second it basically means in a duration of 1 second there are 1 million bits. So this is the data rate. I also mentioned that this signal has a corresponding bandwidth. So if you look at the bandwidth corresponding to this signal it will be something like this. So in fact it will have infinite bandwidth that is going on and on but most of the power is concentrated here. So this will be a function of 1 over f which is the rate at which the transitions are happening. So if you see here if this is 1 megabits per second this will be about 1 megahertz. Now when you are doing encoding in the computer networks you since you use NRZ this is the kind of relation that you have but often this is a very primitive encoding there are lot more sophisticated encoding mechanisms like you could do BPSK, QPSK, QAM so on so forth. What they do is they try to pack more bits into something called a symbol and it is going to occupy. So for example if you went for an encoding like let me call 64 QAM even though your data rate is 1 MBPS the amount of bandwidth that you are going to occupy is 1 over 3 megahertz. So you are doing better in that particular case that is to do with how the kind of modulation you are doing so on so forth. So typically a rule of thumb especially when you deal with binary sequences at a specific rate like this is the amount of bandwidth that you occupy roughly if you are using 2 MBPS it will be 2 megahertz, 10 MBPS, 10 megahertz but this kind of encoding is not very spectrally efficient there are lot more sophisticated encoding techniques that are really good in terms of spectrum efficiency. So you would achieve something like so you will occupy bandwidth that is 1 third, 1 fourth, 1 fifth of the data rate depending upon the type of encoding you are using. This is 1196 another question since there is some more time. So this was asked by remote center 1150 what is the difference between layer 2 switch and layer 3 switch. So switching as a concept is a case where you have a device it has some input lines it has output lines switching is about moving the packets that come on some input lines to some output lines determining which output lines to send them to. So that is the basic concept of switching. Now the switching is applicable at the link layer as well as the network layer. The difference often is one very simple way to characterize it is what header are you looking at. So the link layer switches will look at the link layer headers and the network layer switches will look at the network layer headers which is typically the IP header. The link layer switches for example Ethernet will look at the Ethernet headers to figure out how to switch. So that is more or less the very simple way of saying the protocols employed are also very different. For example Ethernet switches will use some spanning tree protocols and so on whereas at the network layer they use routing protocols like RIP or OSPF, BGP so on so forth. So the functionality is taking packets from an input line and sending out on some other output line but which layer are you operating on and according to that layer the header values will be different and the kind of mechanisms you employ is also going to be different. So this is 1150 ok. I do not remember which remote center sometime back they asked between CRC some longitudinal redundancy check vertical horizontal redundancy check so on so forth what is used where. So there are all kinds of so all these are error detection algorithm there are all kinds of error detection algorithms that are employed in different settings. For example some are employed in telecommunication network some are employed in when you are writing to a hard disk some are employed when you are reading from the DVDs some are employed in the internet so on so forth. So the kind of things that are employed in the internet are typically the cyclic redundancy check which is the CRC at the link layer naturally if you are using wireless there are more sophisticated detection as well as correction techniques that are employed error correction you could use convolution codes turbo codes blah blah. At the network layer there is the concept of internet checksum at the transport layer also there is a checksum which is based on internet checksum. So it is a function of using the right approach in the right setting certain things are better. So for example in the internet checksum you do not use CRC because you just want something very lightweight that will run very fast on the routers and internet checksum and the loss rates are not so high so internet checksum suffices whereas at the link layer you want a little bit more reliability especially if it is a wireless thing so you want something which better error detection capabilities so you go for CRC it is totally based on the context. So we will do one last question. So one question that was asked is in Aloha scheme when did the sender know the status of the packet either after each packet transmission or at the end of the whole transmission. So in Aloha you actually transmit only one packet at a time so you transmit the packet and you expect that the acknowledgement comes right after it. So you do get to know the status of this packet right after the packet transmission. So this was from remote center 1013. So it is 1 o clock I think we should break for lunch.


on these Tau Fiery Phoenix knives that I use. I'm sure you guys have seen a couple in the videos that I've done. I've used these a lot. I actually did an unboxing of the Damascus Steel Chef Knife that I bought. I got hooked on these knives a couple months back. I was looking for some decent knives. I've never really had high quality knives. I've always just had whatever garbage that I could get on sale at coals or whatever. Just constantly trying to keep them sharp. Never really had any decent, really good knives, so I decided I want to start treating myself when I started doing these videos and started looking for something that wasn't too expensive but was pretty decent quality and that would work really well for me.  So the first knife I actually started out with with these was this boning knife. I was looking for a decent boning knife in German steel and saw these handles, somebody recommended it to me. I went ahead and bought this one and I got it and I immediately fell in love with the handles. I love this, the design of the Pocklewood and the ergonomic grip fits my big hand really well and I found that the German steel holds an edge really well, doesn't get water spots and rust on it and I just overall like the whole feel of this knife. So I went ahead and I started ordering some more. I ordered the regular German steel chef's knife and that actually was a really good knife as well. I like this, it's very light, holds the edge real well. Same German steel. Got me excited about the carving knife. I never had a really decent carving knife. So I went ahead and ordered this one as well. This one is, like I said, I love this knife as well. It's just got the same high quality German steel, holds an edge real well. I've used this a couple of times to cut pastrami, roasts, stuff like that and it works very well. I can't wait to use this on cooking, carve it up to turkey on Thanksgiving. So that's what I kind of started out with. Started one, two, three, four. Now I ended up with this, the rest of the set, which is in a block, the block set. All of these knives are actually none of these knives. These are all the ones you can buy in the single side. And actually this knife set has a few knives that you can't get on its own. So I love the shape of this block. The block is actually a linear design. Instead of width-wise, this goes long-wise and it's also not in a block shape. So I like this. It's a different design, kind of like the wood. It's real heavy wood. It's not light. It's not something that's, you know, it's not preformed or sawdust or anything like that. It's real wood, you can tell. It's solid. And what it comes with, it comes with these real heavy-duty poultry sears that lock. I've used these a couple of times on chicken so far. It works real well. They're very sharp. Very sturdy. It comes with the paring knife. Same, very high-quality German steel and holds it in edge real well. All these knives are full tang, which means the metal goes from one end to the other all the way through. It's not just pieces of metal glued together. So it's one piece of metal all the way through and then the pocket wood is wrapped around. And every one of the knives are like that. It comes with the five-inch utility knife, which is a good everyday knife. It comes with two cleavers. This one is kind of like a veggie cleaver, they call it. It's kind of a different, more of a Japanese-type shape than it comes with a traditional meat cleaver. Kind of a, you know, a little bit heavier than the other one. A little bit more traditional design, but they're all that same high-quality German steel and the Santuca knife, which is more of a flatter. It's not like the chef's knife, it's not angled, so it's kind of a flatter Japanese-style knife, same German steel. And then it comes with the honing steel as well. And this is very solid. Like I said, all these handles, the pocket wood is all very ergonomic and they fit real well, especially if you've got bigger hands like me. And they all fit real well in this block. So that's what I got. These have been really awesome so far. They all hold an edge real well. Have had no problems whatsoever. They cut really well. No rust on them, no water spots, sticking to it and getting them all rusty. So I suggest you guys take a look at these.  I try to post them up on my Facebook group and page when they do, just because I think they're a really high-quality knife for a good price. I got this on Lightning Deals for 50 bucks. They normally sell for around 80, which is fantastic still at a high-quality Damascus steel knife. But all these knives will come up on sale all the time. But even the everyday price that they're selling at is very good.  I just kind of wanted to show these to you. I've cut with these knives all the time. You can watch my videos and see me cutting with them. I mean, they all have very sharp my edges. So these all have a 15-degree edge, which is kind of standard on the Japanese knives. So, and that's about it. I love these knives. They look really well. When they said, I like them just because they look cool and they, you know, they got high-quality German steel and I know they'll last me a long time. And they didn't cost me an arm and a leg. I've seen people pay $200, $300 for just one knife. And they don't look as good, half as good as these. So I suggest them, highly recommend them. Thanks for watching. Make sure you go ahead and like this video, subscribe, follow us on Facebook. We have a group and a page and also follow us on Instagram and Twitter. And thanks again, guys, and I'll be back in another video soon. Thank you.