Issues in your setup. So usually it's not that the feature that We want to promote as something great, but like it needs to be there to get fixes for your best status What we are gonna do we will make some kind of introduction with some kind of terminology to be able to To talk about what is fencing. How is it done? Then I will show you some real life examples some situations and what how Fencing tries to fix those situations and we also take a look at the future plans because there are still some Areas that we would like to improve Before I start Just for my knowledge How many of you are using overt? Okay How many of Let's say of you have ever needed fencing like I don't think in overt but regularly in in some other cluster where Okay, so it seems that like It's usual that things doesn't work as expected. So we need something like that So just in in short This is very simplified Picture showing the architecture of over we have something called engine. It's Kind of brain of the whole the system Everything important is Decided and then executed at this machine We have a bunch of hosts which is used to run your VMs And all of these hosts are connected to the shared storage so we can Migrate VMs between those hosts We also have some kind of logical units that like bunch of Hosts accessing the the same storage can be Treated as a cluster and each cluster can have some kind of special configuration The above cluster is a data center because like it Makes a set of cluster and also it makes a set of storage that can be used in those clusters Hosts can have a network connection either The green one is it's like the typical network connection you want and The red one is usually The power management of the host I will talk about it later, but it's An interface that allows you to For example stop and start your host Using power management actions not like doing SSH to the machine and execute shutdown But really like to turn off for example electricity or your horse and shut his down So as he said that we have a host this is a physical server to run hypervisor on and the VMs We have a cluster which is like set of host with some kind of same Capabilities and the same configurations We have a data center which is set of clusters and storage And Also, we have something that is called highly available VM by default if VM runs on one host and this host Fresh is or stopped working the VM Is not like it starts automatically if we detect that the host is really down We just mark it as down and it's up to an administrator what to do with this VM But if this VM is configured as highly available We want to Run it on a different host as fast as possible. So if we detect that it crashed the host We need to make sure that the VM is still not running It doesn't access storage and so on and once we are sure of that we execute it on a different host So this is this is what we call the highly available VM Some other terminology power management interface It's usually in most modern servers. You have a special Network connection Which is which contains the device that you are able to like start the host remotely or shut down host remotely Or get his status and and like other functions This is what we are using to to manage power of our hosts fence agent it's a tool that like provides and Common API for us to manage all types of power management interfaces Because like the most usual is IP MI But there is direct and some other proprietary power management interface and we want like to handle them in a Single API and that's what we used fence agent for Fence agent is not over specific. It's the same package that is used for example by clusters you or open stack Another term is non-responsive host It's the host that like engine came cannot communicate with there is something happen Engine is not able to contact the host and we need to Find out what and try to fix it Fence proxy it's a it's a like when you take when we get back to the to the picture for example, if this host is Is is non responsive? We need somehow to contact is power management API to find out if it's down or up or something broken using this we are we select different host and On this whole we execute the fence agent to contact the VDSM To contact the host at to know the status or to execute the action. Why is that? usually the engine is like a point of access for our clients and we don't We don't usually have direct access to Power management API of the host because it's like considered to be secret and not open to the public so that's why we like Execute an action on our own hypervisor which calls The fence agent to execute the action So that's fence proxy Now let's take a look at the UI of over When you add a host there is a special tab called power management and he here you can set up Some things the important things is here This is for example, the IPMI interface of of the server which we can get the status on this picture, and there is also Secondary agent, which is like not directly at the host But for example, it can be the UPS port of the host to power. So if we cannot contact this This host for some networking issue or died completely. We can Take a look here at the UPC and say, okay The host is without power. We can be sure that is that Okay, so This is this is the slide When I told you how this power management operation works So we when engine for example when for example, I miss that they want to know the status of a host So we execute an action for example get status in engine which contacts some other host in Cluster and on this host we execute fence agent, which is using like different IP address For example to get the power status of the of the desired host This is this is the simplest scenario Usually in in production in large size These like networks are completely separated. So That's why also why we why we use this a bit more complicated scenario so As we said we need some other hosts, which is like execute the power management command we call it fence proxy selection and It's it's a process that like gets all the other hosts or from from the cluster or data center and Evaluates them and pick up a single one which like fit best its status to be assured that the Power management action is successful. So using this process. We evaluate the host we Get rid of everything that has connection problems. They are non operational for some reason and we take just the best fit host and this is Selected to execute power management operation By default the process starts that we try to use the host from the same cluster as the one that we want to execute Power action on if it's not possible We go up and we try to select the host from the same data center about different cluster Even when this is not possible. We also may try the other data center but like this really depends on configuration and you have to enable it manually because as By default we don't expect that the data centers are ever connected But if you know that your data centers are connected you can enable So even if your whole data center is down, you can still get the status and restart the host from other data center so this is The same dialogue F of the of the host detail here are advanced parameters And here you can see that for this host we try to To select the fence proxy first from the same cluster if not succeeded We continue to the data center of the host if you want for example at other data center You can do this using this button By default This is the default like the same data center same same cluster. This is default For the project if you want to change it globally you can if you want to customize per host you can do it here so fencing like speaking Easy speaking is fencing is a process that tries to make non responsive host responsive again It uses like Several approaches which also later how to do it how to achieve it and it's like tightly coupled with host monitoring so usually When you take a look at her host monitoring we try to monitor our host and if there are for example some connection issues We like wait a bit more time if it's temporary or not if like Some kind of timeout which can be customized is passed over we mark those hosts as non responsive and try to execute fencing to him to be Responsive again Why is the fence needy as we said for a highly available VM We need to be sure that like this VM is no longer running on the host that is not responsive Why if we execute the same VM on the different host that it could be data corruption And that's the things that we need to prevent at all costs so How do we know that like the VM doesn't work or or it's really shut down We have at the moment we have flown like only two two things If we successfully detect that host is in Dumping process. We know it's that and the VM cannot running or we successfully execute The host shut down and the host status after it is off. We know that the VM is not running So this is the only case when we can start like Execution of the highly available VM on different hosts So the fencing process is like Try to fix the host and if it's not possible Try either detect it's dumping or detect its It's shut down so we can like treat the VMs again to be either down or it's highly available To treat them and execute them on on different machine As we said prevent data corruption is it's like the most important goal for fencing It's better from our point of view not to restart highly available the VM at all Then restart it twice and make it that the corruption So in overt hold the fencing flow contains three important steps The first one is something we called SSH of fencing It's like really the I would say the easiest things to do is try to connect to the machine and try to restart VDSM Which is our agent which handles all calls between engine and hypervisor If it's not possible or if it we succeeded restart but still doesn't work We continue to the next step and this is the KDOM detection When you where your server has hardware error or some kind of kernel issue it usually it's reboots into what is KDOM kernel and It gathers memory data and then try to Save this into some kind of predefined location for further analysis When when this like reboot to KDOM kernel happens Everything what was running on the server is stopped so we can assume that like okay We the VMs are no longer running we can restart them If we detect that the host is not dumping then we know something else happened So the only thing that we can do is try to restart The host completely using power management action So we execute power management stop now testing if the host really stop when it's stop we try to execute start and Testing if the start execution was working fine when everything was fine We like still make the host non responsive But we expect that it was start was successful It will became up at some time like it depends on the server on its size on its load How much time it does it take when he games up again? so before we go to the to the real-life examples so any questions so far So the question is if we plan to monitor host by a storage It's our future plans is to introduce storage fencing. I will try to say something at the end about it Yeah, there is there is also a feature I will talk about it like it's not storage fencing But we detect if the VM is still accessing the storage or not Yes So the question was how do we detect that the host is dumping its memory? We are using Or when we deploy the host we configure K-Dump for it And we add fence K-Dump, which is a module which sends notifications like when you boot into K-Dump kernel and start gathering the process you can You can execute a process which send notification. Okay. I'll start the dumping and those notifications are received until the dumping is over and Host is rebooting into a normal kernel again. So we are gathering those notifications I will show you the example later and by that we know, okay, this host is dumping We don't want to fence him not to lose like the dumping information Any other questions? If not, okay, let's go to the basics so This is like pretty easy example, we have a host which is non-responding and We don't know nothing about let's assume that this is simple example Networking is working, but our VDSM agent has crashed so Fencing started in engine and as we said the first thing is SSH So fencing so we initiate SSH connection to the server and Restart VDSM service after that we wait for some time if host goes up Everything goes soft is if it doesn't work we continue in this case Let's assume that the restart of VDSM work. So the fencing flow is over. So this is this is pretty easy Let's continue to another example in this example for example, I don't know the port switch Stopped working. So we lose connection between the host and the engine like we said before Hosts starting to be non-responsive on engine we initiate we initiate Fencing flow first step is SSH so fencing. So we try to connect the SSH to host Unfortunately, it's not possible. So when we get the exception that SSH connection was not possible we initiate Next step In this case for simplicity K-Dump is not configured. So let's keep it for now The first the first step is like to do power management restart So engine tries to select a fence proxy host as we said before Once this fence proxy hold is selected engine sense and commands to this fence proxy host please execute power management stop on the from this non-responding host So here VDSM cause desired fence engine which is using like the power management API of the host and Try to stop it If this was successful we know that no VMs no longer running in this host and we can restart the VMs on Other hosts. So in engine executes Other action in parallel like which start highly available VMs and normal VMs It's set is status to down and other things In parallel we execute another command to the fence proxy. Okay. We know host is down Please start again so we call a fence agent again and he Tries to to start the host if the start command was successful We mark the host and it's non responsive and we wait until it's come up Any question about about this flow how how this works? Okay, let's go on. So this is this is the case that we For example in this case host everything is fine But there was some kind of kernel issue and host is start dumping as we said before during like registering and deploying host to over if K-dump Detection is configured Because like you can turn it off for some reason if you don't want to but by default it's turned on so during during the host deploy we Alter K-dump configuration on the host and we add a special fence K-dump configuration which sends notification from the host To the to the engine at the moment, but another host can be selected So let's assume that the host started to dump The process booted into K-dump kernel and this case K-dump can now start to send notifications to the engine that host is dumping At this time in moment Like engine didn't know what happened. It has like the host is not responding so the whole machine is starting up and As we said like the first things that engines want to do is do SSH so fencing So he tries to do SSH SSH connection it doesn't work because host is dumping So the next step is like detect if K-dump is going on So he take a look at the database And there he finds that okay host is dumping at the moment like the non-responsive treatment of the host stops and wait until like those messages Those notifications stop to come There are special configuration, but for simplicity The host is still dumping if you have a host with lots of memory it can take significant time So once the host is stop dumping the notification process like stop sending messages And it rebooted again into into normal kernel and the boot process started again So at at moment at this moment and after some time out Engine says, okay, we stop Getting notifications about Host dumping we can assume that host is restarting and we mark it as non-responsive and We will wait until it's come up So this is this is the K-dump any questions about it Yes So the question is how do we handle? failures of fence proxy, so when engine select like first fence proxy and during So there are two ways if you are not able to contact the host so the command to execute Fence one is not get to the to the fence host we just detected in engine and Select another host at the same moment we detect that we cannot contact the original fence proxy If something happened during this execution of the faint agent, we return just the failure with the reason Back to the engine and engine also select Different proxy by default we do three thrice per each Per each command in the same cluster if it doesn't work We try to do same data center also free retries with different with different hosts, it's Like customizable if you want more it tries what it tries it depends on you, but this usually is enough Yes, so the quest so the question is when K-dump is running do we have some kind of timeouts? Yes, there is several timeouts before like we have We have timeout when engine tries to detect kidnapping before like the first notification gets in So this is the first timeout Then we have timeout between Like because by default we send the notification every five seconds So we have another timeout which detects how many of those notifications can be lost So for example like, okay, we if you lost five notifications We still assume that K-dump is dumping if you lost six one, okay K-dump is over and also we have another timeout After the last to receive the notification for how long we can expect that the K-dump process is still Is finished and we can assume the host is restarted Yeah, so so even in this case we just waits Until it finishes because like we have an event Which we sent to an administrator. Okay, this host is non responsive or this host started K-dumping so so this is just up to the administrator he received the event and he had to handle it somehow like, you know if He knows something happening and it's up to him if you like if he Like stop the dumping of the host and rebooted manually after that He can like mark the host in in overt, okay I reboot it in manually treat it as rebooted and the things go on but it's up to the administrator We don't have any other way how to like detect stored K-dump or something like that because like the only Way we can do we can detect. Okay. We receive notification K-dump is going on Okay, so let's go on So this is like slightly more advanced configuration let's assume that like we have hosts with one cluster and Host with other cluster each cluster is connected through its own switch So let's assume that there is an error in in the switch for cluster one also each host is or its power management interface is connected in a different switch and also its network is connected in a different switch in overt we also can have like VM access using spice or VNC defined on different network So I didn't draw it but let's assume that there is also different switch when users can access the VM So engine host is non-responsive and gin tries to do SSH just venting it fails So he tries to select the host from cluster one. It fails because the whole switch is down So he tries to do other Cluster in the same data center. He select the host and on this host like he execute He execute power management command and the host is successfully fenced so Is it does it seems right to you or do you see any issue with that? Like from the from the from the previous slides we said, okay host is fenced everything goes fine Yeah, exactly because the host is still connected to the storage and we don't know if the issue is like in here But so okay engine cannot connect to host But like we may have users connected through a different networking API Which can still access their VM and be pretty happy and they didn't know any issue. So That's why we have like clustered fencing policy and Exactly for these options. We by default Can turn on skip fencing if the host is still connected to the storage? That's what I was talking about. So what happened in this case if this if this option is on And engine tries to execute power management stop on on this fancy grocery host It is able to connect to Sunlock, which we are using for for storage synchronization and ask Sunlock Okay, this host does it still access the storage or does it renew its its Sunlock lease If the Sunlock tells him, okay, this what this host is still accessing the storage We skip the fencing and we said, okay There is an issue but the host is still alive and VMs can access it So this is like kind of protection for us if you have more complicated network setup We cannot assume that if this is down that there is some issue Like there is an issue but like for us is primarily our users to be able to access the VMs. That's the primary goal So this is why we have This like kind of failsafe. So if the host is connected to storage, we skip fencing now another question like okay, we probably there is an issue with the whole Cluster do we still need like to to for each host to execute SSH of fencing and if it fails to to execute Host stop and then detect if host is connected to storage Like it's inefficient, right? So this we have another things another options for that and it this is skip fencing on cluster connectivity issues When you can define a fresh hold for example, if 50% of your host is connecting or non responding You can skip the fencing because you know that like this is probably an issue in in this switch So in this case, we are like we can prevent Unwanted fencing and we can do it much faster than we like Wanted to execute the whole things and detect if cluster is is Connected to the storage Yeah, we tried the soft fencing it fails and then we called like the special verb to our video Sam, please do power management restart and We like with this command we sent like if the option like to skip fencing for storage lease We send in and if this is stand on The the first thing that here we do we like we contact Sunlock and tell us okay Are we still connected to storage if we are not we continue with power management? so if you if you go back to the to the cluster fencing policy There is like first button is enable fencing It's like the thing that we introduced in in 3.5 slice moment It turns off fencing completely for the whole cluster Now you think like is it good thing or bad thing like we have a users that Doesn't run highly available VM a and for example the link between engine and and their host is pretty slow So they want to like to skip fencing. They want to do everything manually Now that makes sense To turn off fencing completely because they knew the risks They are okay with that they don't want to receive or to be they host to be to be fenced inappropriately But in the usual flows the only reason that you want to skip fencing is for example, sorry For example, if you know that this Switch is for example replaced or reconfigured This is plan plan reconfiguration and for example, you know, it assumed to take like half an hour to do some of the configuration so if you like Don't touch it over all the fencing stuff will happen Even if it not succeeded, but it will start so we will receive Okay, our host is not connecting and non-responsive and we attempt to to associate so fencing and so on if you want to prevent this You can do okay Our switch maintenance started 10 minutes. I will disable fencing for the cluster Completely so we will not fence anything and when the switch maintenance is over you enable the fencing again And everything runs smoothly So like this is the options. I think this is the only viable case Which you should turn off fencing? Any questions now that Yes Yes, all of all of the functions or definitions are available using rest API So everything you can turn on off in in web app menu can also do in in the rest API Yes Yes, so so in this case if you want to be sure there is like I said before this Secondary or or other power manage agents so you can define for example your are law as the first one And if it's not reachable you can define for example UPC Fence agent on the UPC. So when we when we contact the UPC and we said, okay It's power off we can power off if you can't do ever this doesn't work And everything is broken the administrator has an option in a web admin or SAPI to tell okay I manually rebooted the host and I take the responsibility Like this is the last step we can do It's up to administer if he like only claims to do it and expect the results can happen Yes, I will talk about that in in like future friends. So we we would like to introduce like proper Proper storage fencing because like when we have this we will be like able to for example Said okay this host is in state. We don't know about please turn some lock to stop or to place a like Lock that the this instance of VM is not able to access it again and the restarted at once This is this is a plan for the future any other questions Okay, so so I Talk about storage fencing The other thing that that we are like thinking how to do it is like for example if your host is dumping It might be a kernel issue Fixed by next reboot, but it can be some kind of hardware error So in that case like host is start dumping rebooting back Normal boot process started there is an issue booted to to K-dump and this is like never-ending story so we are thinking to do some kind of like let's say configuration and heuristics for example if host was K-dumping like Maybe three times in the last hour mark is and non-responsive and and like don't care with him and let it Administrative to do what it happens. So this is like any other questions. I'll be available and happy to Transfer them. Thanks a lot for attention


So the primary and secondary vitreous, which then involutes for the most part but then can have some remnants and that's according to some hypotheses why there is a snowbank. The inflammation occurs in this zone here, the anterior retina, the posterior ciliary body. But the amount of the vitreous cell that you see is all over the, it spills into the vitreous in its entirety. So you can have vitritis that's posterior and anterior and then you have consequent effects on the retinal circulation and we'll talk about peripheral non-perfusion. We'll talk about CME, etc. I don't think this is the Catherine who edits. There you go. Sorry, missed that. So here's a 15-year-old male referred for recurrent vitreous hemorrhage in the setting of recurrent banuviatus. Yes, or he's been told he has banuviatus. It's one plus cell in the ESEE, one plus vitreous cell in haze, optic nerve, edema and hyperemia, and peripheral retinal neurovascularization. So no view. So what kind of uveitis does this kid have? So he's got... What do you not see that would make it banuviatus? I don't see any like retinal or coroid. Yeah, so in order to have banuviatus or posterior uveatus, you need to have retinal or coroid allegiance. So this would be intermediate uveatus. So what would you do next? Eat skin. Okay. Yeah, you want to make sure that the retina is not detached. If you do have a view or if you want to look at the other eye, what could you do? You want to see what's going on. For instance, he's got cell in the other eye. If you don't answer your grammar. So why do patients with intermediate uveatus develop vitreous hemorrhage? You get neurovascularization. And why? And because of retinal and capillary. So there's two reasons actually. We'll go through this and have a couple of examples. But there's people who develop peripheral retinal non-profusion. But then the other reason for neurovascularization is simply inflammatory mediators. So VEGF is actually an acute phasor agent and you can end up with neurovascularization in response simply to inflammation. And it's important to make that distinction. So people often come in with floaters, decreased vision, vitreous cells for vascular sheathing, snowballs, snow banks. What are snowballs, Marshall? The like the posits on the partial plan of that or not great. So they're in the vitreous, little white capacities within the vitreous. They're actually the granulomas. They're Langerhans type granulomas giant cells. That's what you'll see. It's a snow bank. That is when it's on the partial plan. And what is it? So it's a collection of microcures. It's gliosis on the partial plan. Visions often develop cataracts, CME, and we'll talk about the common causes of vision loss in these patients. It accounts for about four to eight percent of referrals to UVA's practices. That kind of holds true in my practice as well. 25 percent of the UVA's in children is intermediate UVA and it's most common between 10 and 40. However, you can see it later on in life. But when you see de novo intermediate UVA's in an older person, you have to think about other diagnoses as well. And it's important to do retinal imaging to make sure that you're not dealing with opposed to your UVA's because sometimes disease such as bird shot, even the lymphoma can masquerade early on as an intermediate UVA's. Some patients are asymptomatic. Most patients present with blurry vision of fluors. Vision is usually 20, 40 or better in a presentation. You'll see pictures cells, no balls, no banks. You get dyskidema in about half the patients who come in. That's why a lot of intermediate UVA's comes to me from neuro ophthalmology. They say this is not optic neuro, this is not an optic neuropathy. This is secondary to vitritus or to intermediate UVA's. So Marshal, what do you see here? Snowballs. Where are they present? That's right. And then you see the snow bank. Sometimes when you want to look for a snow bank, some of the best ways to do it is to have a patient look down. Without a lens, use the indirect and you'll sometimes see this white snow bank. Very stark. You can have peripheral vascular anomalies, very vascularitis, peripheral non-profusion, vascular leakage, neovascularization of the snow bank or elsewhere. Mike, what do you see here? It looks like there's vascular leakage there. So this is a 21 year old with vitritus cell. So what does this look like to you? Is this vascularitis or is this, what if I show it to the other eye? What do you see over there? There's a, it looks like there's like a detachment there. No, no, it's just some blood. So what you see is, you see vitritus, hemorrhage, you see kind of this very phlebitis and vitritus cells. So this is intermediate UVA's and sometimes it can be very, very, the vascularitis component can actually be quite prominent. And that's actually one of the dilemmas in defining vascularitis versus, versus, yeah, so is this vascularitis or is this intermediate UVA's? Sometimes the vascularitis can be bad enough that it looks like it's vascularitis and not intermediate UVA's. The fact that this happens is why intermediate UVA's has all these peripheral vascular anomalies. Arianna, what do you see here? So this is a 17 year old girl who presented to us with vitritus cell and floaters in loss of vision. I see white exudates and it looks like there is a elevation all the way up to the macular, right? So this is actually a patient with intermediate UVA's who developed another kind of peripheral vascular anomaly called a vasoproliferative tumor. It's actually very common in intermediate UVA's where you have kind of this veg after of a mass of anomalous vessels and adventitia that leaks and causes this sub-retinal exudation. So you can in fact get, you know, exudative or you're almost, you have kind of an exudative retinal detachment in patients with intermediate UVA's who happen to have peripheral vascular anomalies and you can see that here as well in her other eye. So that's a, that's a vasoproliferative tumor with exudate heading towards the macular. Rachel, what do you see here? So this is a 22 year old male also with floaters. I thought that was vitritus hemorrhage as well but it's coming directly from the disc. Yeah, so where do you think the neovascularization that's causing this hemorrhage is on the disc? So if you can actually get NVT, what would you, what would you request as a test if you saw something like this, an angiogram? Yeah, so here's the angiogram and you can actually see this tuft of neovascularization coming off, off the optic nerve. And what you really want to know now is, is why is there neovascularization of the disc? This is a patient with intermediate uveitis. Why is there neovascularization of the disc? And we talked about two possibilities, number one peripheral non-perfusion and number two just inflammation. So here's the other eye. So it's an opto study. What do you see here Brad? Peripheral leakage. Right, and? Non-perfusion? Not so much, but definitely there's leakage of the neovascularization. Oh, okay. And here's the other eye. I'm sorry the image is not great, but take my, take my word for it, there's no peripheral non-perfusion, but you do see neovascularization of the disc. So in this case you would treat, how would you treat this NVT? Well, how would you conventionally treat NVT say in diabetics? Do you like BEDGEF or you can do PRP? Yeah, your first answer should be PRP. I know a lot of people are talking about BEDGEF for neovascularization, but in general for diabetes stick with the basics because that's what they're going to test you for on the boards. But in this case, did you see any utility being that there's no non-perfusion of doing PRP? No. Probably not. So how would you treat this? How would you treat the underlying disorder, whatever it is? Yeah, so you treat with steroids or immunosuppression. So certainly you can have patients where there is a lot of peripheral non-perfusion. This is a case where there's kind of these non-leaky shunt vessels and peripheral loss of circulation here and here, and this can certainly be a cause of neovascularization. In this case, you want to both immunomodulate the patient, but you also want to do some laser to the periphery versus this one where there's neovascularization of the disc. And although you don't see peripheral pictures here, there was no non-perfusion and these ones you immunomodulate. And really aggressive anti-inflammatory therapy is the way to go. So there's no role at all for anti-BEDGEF in this? Well, it's remarkable how quickly this neo can regress just if you put the patient on steroids. Now, steroids do have an anti-BEDGEF action. There is some evidence that steroids can diminish the effect of BEDGEF, but that's only one of many roles of steroids. What is a peripheral non-perfusion? Is it permanent or can it recover after the inflammation or the primary radiologist treated? So conventionally, they say that retinal vascular non-perfusion is irreversible, but there is some evidence now, especially in the diabetic studies, that you can have vascular remodeling and reperfusion in certain parts of the retina. So is it fast enough and is it complete enough to prevent the need for laser? Probably not, but there is some evidence that that can happen. These are rare diseases, so there's probably not enough study on revascularization. So when you see neo perform an FA, if you see a capillary dropout, treat with PRP or with peripheral laser, and if there's no capillary dropout, consider immunosuppressive therapy. If you have peripheral traction as a result of neovascularization or vitritis, then consider either vitrectomy or doing cryo to the area. And of course, if you see exudations or an exudative retinal adjustment, first put the patient on steroids, then take the patient back for potentially doing some cryotherapy. You might have already said this, but why do they get MBD? Like, is it just because the inflammatory response sends out the Jeff as well? Yeah, and it's like the same molecule, just different mechanism. Just a different mechanism. It's not from non-perfusion, it's just from inflammation. Did you also make the pink border? Oh, because those were the ones that I edited. Oh, I get it, okay. So what is the primary cause of vision loss in intermediate IVitis? Very good. What are common complications that require co-management with another sub-specialty? Well, you're not a specialist, too. That's true. Or like an RD, I didn't put that one either. Yeah, that too. And other things.  I'm just assuming that all of you are going into retina. Antico-UVitis. Maybe you do some long calls. You don't need to have any money. All right, poor control of information can lead to vision loss from CME most commonly. And you know, CME needs to be treated fairly aggressively because it can lead to immaculatrophy. Unlike diabetics where you can maybe let a little bit of CME slide, a child with intermediate IVitis needs to have that treated. You can have vitritis and conventionally vitritis that makes the vision worse than 2040 is it needs to be treated, although that's negotiable. Vitrious hemorrhage can also be an indication for treatment. Cataract is quite common. Most of your Zinicae and Psycletic membranes are less common, but can cause severe vision loss. And if you have patients come in with Psycletic membranes and there's aggressive variant of intermediate IVitis, then that needs to be treated quite aggressively. peripheral retinal detachment and Psycletic membranes with hypotony are really bad prognostic signs. And if untreated, that can lead to tysis. Uh-oh. I'm about to lose. Can I put this in anywhere? Or does it have to be there? So retinal detachment can be tractional from Psycletic membranes or virtual retinal fibrosis. It can be cirrus or exhalative when you talk about VPDs or even just very, very, very, very, you know, large snow banks. And retidogenous, because you do have peripheral retinal, the anomalies and patients who have intermediate IVitis and end up with detachment, you would want to do a buckle and you would want to consider oil. What's going on here? Baby bear. Yeah, okay. There's an IOL up there. It's covered in it. No, it's the same thing in front of everything else. So there's an IOL, trust me. But what's behind the IOL? It's a dense kind of white plaque. So that's a Psycletic membrane. So in its worst state, you can have this sheet of fibrosis that goes from Psycletary body to Psycletary body, crosses the plane. And this eye is hypotenuse because of that, because detaching the Psycletary body becomes contract and fibrosis. So glaucoma is seen in about 8% of these eyes. So it's not as common as say in the glaucoma that you see in aggressive, untreated anterior IVitis. Some of the glaucoma in intermediate IVitis can be steroid related. So, you know, it's very important to check to see if patients are in fact steroid responders before you give them an injection of something. I often do this by putting patients on topical steroids first. Always do gonioscopy when you see glaucoma or at least ocular hypertension in patients with any kind of UVitis that you're treating with steroids. Why? Because what are the possible causes of high pressure inside? We talked about this last time. What can cause high pressure in UVitis? So, yeah, we're from Antiocinicae with fibrosis along the trapezoid. So trapezoiditis, and what you're talking about, what kinds of UVA it is there? So, anti-UVAD is most common in infectious varicillin zoster, herpes simplex CMV, but you're also, there are other things such as toxoplasma and non-infectious things such as sarcoid that can cause a hypertensive UVitis. Similarly, patients with sarcoidosis and that as a cause for intermediate UVitis, they can have high pressure as well. What are other causes for high pressure in UVitis? In intermediate UVitis. So, supposing you've treated the patient with steroids, especially young people, young people are particularly prone to steroid response, and often you have children who you've treated with oral steroids, even they can come in with high pressures. The effect is not as pronounced as that seen in injected steroids, but you can certainly see with oral as well. As I said, OCD is the most common cause of vision loss, and the concordance between OCD and FAB and CME is only 7%. Now, this study was back in the mid, about 2004-2005, so since then OCD has changed a little bit, and that concordance level is probably now disparate, is it probably closer together, but know that not all CME is registered on OCD, and it's sometimes just angiographic. So, here's an example. So, what do you see here, Marshal? This is a pretty normal looking fundus, right? Maybe a little bit of haze. Does this normal? Looks pretty normal. Okay. And that's the FA. Yeah. So, this patient has a pretty normal structure, but the vision's decreased, but the OCD is normal. So, this is a patient with angiographic CME only, with a decrease in vision. So, not all CME is evident. Now, that's more common in young people, because young people have better compensatory mechanisms, where you can have leakage, but not actually develop CME. So, there's a breakdown in the inner blood retinal barrier, and there's leakage from macular capillaries that comes early, and then in the end, you end up with actually this leakage and pooling effect, where you have pooling of dye into these cystic intra-retinal spaces. It's petaloid in appearance. Why? You talked about this? Outer plexiform. What is this? It's a chicken. It's a chicken. Don't ask. And there's often a lot of things. So, when you look at intermediate UVA, there's actually a lot of variability in the outcome and in presentation. So, when I see a patient with intermediate UVA, I just generally stratify them into two different kinds. You can either see a patient with mild indolent disease. Sometimes that doesn't need to be treated. And if you look at this study, this is why Jose Felido sometime back in Mayo Clinic is in Olmsted County. So, granted, that population is probably skewed more towards the Scandinavian side of things. But, in this particular study, they found that not everybody needed treatment. So, in this population, systemic steroids were only required in 23 percent. And steroid sparing therapy was only one required sparing therapy out of 46 patients. Now, this seems very unusual. I mean, I think this is an underestimate of what we normally see. I would say I tend to immunosuppress about 50 percent of patients who come in with intermediate UVAs. But if you look at the survival curve, these are patients who remained at 20, 40 or better. Over the course of 15 years, about 40 percent was vision dropped beneath 20, 40. And that was from cataract or CME or others. So, the visual prognosis is relatively good if treated. In this subgroup, probably, I think severe disease was underrepresented. But it's important to know this, to take home from this study, is that sometimes the treatment can be worse than the disease itself. And so, be careful when you see a patient who's about 20, 25, has floaters, a lot of vascular leakage. Maybe hold off on intravitual steroids or sub-denone steroids until you can prove that things are getting worse. So, there's another Catherine slide. So, just shout out inflammatory causes of intermediate UVAs. Now, what if you, the term parisplanitis, and I think we'll discuss this further out in the lecture, but what does parisplanitis refer to? Idiopathic. Right. But it has to be, it has to have two features. Snowballs and snow banks. So, parisplanitis is a diagnosis of exclusion. And a lot of people tend to use parisplanitis and intermediate UVitis interchangeably. That is not correct. So, just remember. But in the other causes of inflammatory intermediate UVitis, what would you think about? So, MS. So, MS, yes. Charcoidosis. What else? GA. GA, generally not. So, GA generally does not have an association with it. I have seen patients who happen to have GA and intermediate UVitis, but it's not considered a true association. So, charcoidosis, inflammatory bowel disease, that's not difficult. MS, like you said, continue. So, remember we talked about tubular interstitial nephritis associated UVitis. And that's usually kind of an indolent anterior UVitis in patients who are between 10 and 16, generally more common in women. Positive urine beta-2 microglobulin. But it can cause an intermediate UVitis as well. That is not entirely correct, although I have seen a couple of patients with urban gas who call urban gas, but had a little bit of vitreous cell as well. That was probably just reactivated intermediate UVitis that wasn't detected before, and patients had cataract surgery. So, infectious TB. So, Lyme disease, I think we forgot to add that to the animation, but Lyme disease over here, don't check for it. So, if the patient has never left Utah and has never been east of eastern Colorado, don't check for Lyme. Because what if you get a positive Lyme for somebody who's lived in Utah their whole lives? Right? So, Bayesian analysis would suggest that if you have a positive test in a low-prevalence area, that it's most likely to be a false positive. So, the positive predictive value of the test is diminished in a low-prevalence area. Whereas if you did check for Lyme disease in, say, Lyme County, Connecticut, then it's likely to be a true positive. So, have I seen intermediate UVitis that was secondary to Lyme disease? Yes. In fact, I've had a roster of 10 such patients in Long Island. But over here, I have a lot of patients who were unnecessarily treated with IV antibiotics, who shouldn't have, before they got to me. But other things can cause intermediate UVitis as well. Bartonella, Doxychoriasis, Whipple's disease, Syphus, of course, TB, although defined intermediate UVitis in isolation and TB is unusual. Hepatitis C has some association with multiple autoimmune diseases, but intermediate UVitis is one of them. So, we've already talked about this, which is most likely to present as unilateral disease. So, you know, herpetic disease can actually cause intermediate UVitis. So, I've seen patients who come in with an anterior and intermediate UVitis with herpetic disease. And this is, when you see an older person with their first presentation of anterior and intermediate UVitis, may or may not be hypertensive. One of the things you want to think about is infectious disease. Now, other infectious disease entities such as tuberculosis, can't present as unilateral disease, but to see intermediate UVitis in isolation is unusual. So, about one-third of patients with intermediate UVitis in various studies has been shown to be associated with systemic disease. In this particular study, Dan at Sarkoid out of 82, six at MS, two had optic neuritis and by extension probably had MS and two had IBD. So, Sarkoidosis will give you posterior segment inflammation in about a-third. It's the most common syndromic cause of intermediate UVitis for granulomatous changes. So, Sarkoid generally presents with snowball-like capacities. Nervascularization of the disc in Sarkoidosis is actually particularly common. Its multi-system inflammatory disease characterised by non-KZ eating granulomas. Most commonly evident as granulomatous anti-UVitis or intermediate UVitis. However, you can have chlorideitis. You can have vasculitis and the vasculitis of Sarkoid is characteristically very vanilla. In this population in Utah, you'd see it most commonly in the Scandinavian, in people of Scandinavian descent, but it is quite prevalent in African Americans and not surprisingly very common in Africans who are in Africa. And there's actually, it's an interesting disease. There's a gentleman by the name of Biswas who does a lot of metagenomic sequencing studies and he looked at Sarkoid granulomas and found the genome of atypical mycobacteria. Does that mean it's an infectious disease? No, but it could be that there's an infectious trigger. So just like with MS, when patients move to Northern Europe from anywhere, the rate of MS goes up. There's some suggestion that this is an infectious trigger and people feel that Sarkoidosis also has an infectious trigger in an immunologically prone individual. In Sarkoidosis you can have hyaluridinopathy, erythinopnodosum, skin granulomas, adenopathy and neurologic symptoms in about 20%. This chest CT, so if you have a patient with granulomus disease and you have suggestion of Sarkoid on your examination, just go for the chest CT because your chest X-ray will not be as revealing as you'd want. In fact, the hyaluridinopathy seen on chest X-ray with Sarkoidosis can be evanescent in about 70%. So the ocular findings or the neurological findings or the non-pulmonary findings in general may be temporarily discreet. It can happen at different times. So the hyaluridinopathy will resolve and then you develop ocular findings. So sometimes it's important to just bite the bullet and do a chest CT. So if somebody has MS and intermediate uveitis, is this sparse planitis? No. Right, because there's an association. So about, there's several studies and this is if anybody wants to do a tedious prospective study, one suggestion would be to take all patients with MS that you can find referred by neurology, new diagnoses, and then follow them prospectively for five years and see how many develop pro-vascular leakage, retinal vascularitis, or intermediate uveitis. There's a lot of people who consider the MS, intermediate uveitis and MS to be one of the disease defining entities and would be useful to know that. In MS you can have anterior uveitis which is actually the most common, intermediate uveitis which is often symptomatic and retinal vascularitis which is often asymptomatic as well as only caught on incidental angiography. So if you see a patient with intermediate uveitis, say 10-year-old male but no lateralizing neurological symptoms, would you do an MRI? No. So when would you normally do an MRI? So a patient comes in with intermediate uveitis and has a bunch of neurological symptoms, numbness, weakness on either side, yeah that's probably a good idea. It's probably then that you should do an MRI and there's another situation where you should do an MRI as well. Supposing there's a young girl, 13 years old who has intermediate uveitis and you've tried methotrexid and you want to advance to a biologic. That's another situation where you might want to do an MRI. Now why would that be? It's TNF-alpha inhibitors. TNF-alpha inhibitors are relatively contraindicated or actually pretty conclusively contraindicated in patients with demyelinating disease so be careful there. So as a young person or especially a young female with intermediate uveitis, you are more prone to MS and to demyelinating disease so you should be careful there. So as I said before, partial uveitis is not synonymous with intermediate uveitis. It's a subset of intermediate uveitis. It does have a worse prognosis than your, you know, garden variety IU. Has worse vitritis, more severe macular edema and patients tend to present in, in several ways but here's a schematic of various things you can get with, with barge benitis. You definitely have to have the snowball as a snow bank and you often have a lot of kind of CME. So when it comes to, I should just ask you guys, what if you see somebody a de novo patient with, with intermediate uveitis, how would you work them up? Yeah, so all uveitis always take for syphilis and do a direct trap enamel and a non-trap enamel test. So, would you do ACE in a child? No. Right, so just remember that. It's probably not useful. Most children have elevated ACE and then we also talked about older hypertensive and if he's on lysine approved, don't do an ACE. Because we're a middle age hypertensive. Oh, like you? Yeah. I'm sorry, is that protected? Don't depreciate. It's just PHI. Thanks for sharing. You have no problem sharing. PHI information? Yeah. Did you respond? Oh, I got that. Yeah. After all that effort you put into coming up with that joke. Yes. It's too early. Okay. Check for TB. Check for Lyme only in endemic areas. Maybe check for doxocara in young people from endemic areas. But most people with doxocara will have peripheral retinal lesions. There is a subset of diffused doxocoriasis that does not. If the vision is worst in 2030 or 2040, treat. If CME is present, treat. If there's new vascularization or vitreous hemorrhage, these patients should be treated. If there's CME and no significant vitreous haze, it's not unreasonable to start with a steroid and non-steroidal anti-inflammatory drug. The data on this is mixed, but this gives you two advantages. Number one, you can see if you can get rid of the CME. Number two, you can also tell if the patient is a steroid responder. If you put a patient on four times a day, pregnancy alone for a month, then perhaps you'll be able to tell if the patient is going to respond 40 to a subtenon's injection. How long does the steroid response take to develop? Six months. Three weeks. Oh, the permanent IOPS. No, I don't know. But, yes, certainly the longer you have steroid treatment instituted, the more likely you are to develop steroid response hypertension. But three weeks is generally when it starts to emerge. Now, when you do intravitual steroids that affect peaks at six weeks, so make sure you follow patients closely when you have them on steroids. There's actually, there are actually quite a few lawsuits out there where patients were left on topical steroids and the pressures weren't checked. So defend yourself and your patients. If someone had like better than 20, 40 a vision, would you do an FA on all of them to make sure there isn't CME? I do not. Some people do. There's no, there's no strict guidelines on that. Sometimes it's best not to do a test. If the patient's not symptomatic. So if you did it and you found a bunch of leakage, what would you do with that? Would you put this patient an immunosuppression who's fine? So probably not. So if there's vitreous hay as you can try oral steroids or injected steroids, if there's peripheral non-profusion, think about laser. And consider doing immunomodulatory therapy if the disease is chronic, needs oral steroids for longer than two or three months. My first line of treatment is anti-metabolites. You could use methotrexate, cell septum. But then in children, in particular, T cell inhibitors are useful. So what T cell inhibitors are we talking about here? So cyclosporine, what else? So dichrolymus as well. Now the both cyclosporine, what are the side effects of cyclosporine that you want to think about? I'm blood pressure. Yes. And gengible hyperplasia, renal disease, kind of nephrotoxicity, and dichrolymus avoids some of that. So dichrolymus does not give you hypertension, it gives you a lower rate of nephrotoxicity. The only problem is it's harder to get a hold of and it requires drug-level monitoring. That's why a lot of people don't prescribe dichrolymus, but those who use it is far better tolerated, makes you feel less bad than with cyclosporine. Other than that, you can use biologics and there's actually a trend towards using biologics as a first line now in intermediate uveitis. The FDA-approved one is at a lemium ab or humera and it is now indicated in children as well. So that's a good second agent. So my practice, generally I'll see two kinds of intermediate uveitis, kind of this indolent, not particularly symptomatic one with just a few floaters. And then depending on whether or not the patient is 20-40 or worse, has vitreous hemorrhage, has CME, has structural complications that I would treat. If not, then you can observe. Treatment in these patients you may think about deposteroids, injectable steroids, oral steroids, and then you can escalate treatment if you feel that the disease is chronic enough to an anti-metabolite, a T-cell inhibitor, or a biologic. There are some patients who present early with psychedelic membranes with vitreous hemorrhage with potentially with hypotene and severe vision loss and in an amblyogenic age group, then sometimes important to go in and do a vitrectomy. Clear out all the debris, maybe even fix the cataract if there is a significant one, and address the cyclic membrane. Sometimes it's important to leave those patients a phakic because then you can always manage them with the contact lens. Those patients need early immunomodulation. But anyway, so that's all I have. I'm afraid.


What we covered from the previous example, we went through a case of sending from a web browser to a web server and we saw some different types of addresses. We know of course IP addresses. IP addresses identify interfaces of hosts. You can think to find someone in the internet we need to know their IP address. So they identify the devices in the internet. But on a particular device, on a host, it may be using one of multiple transport protocols. And it may be using one of multiple applications. So we have a protocol number to keep track of the transport protocol being used. So inside the IP header we saw that the protocol number field that says this data inside the IP datagram goes to transport protocol. If the number is 6, goes to TCP. If it's 17, it's UDP. If it's 1, it's ICMP, and there are others. There are just some of the common ones we'll see. You don't need to remember those numbers. For example in an exam I would give you the the list of numbers of relevant values. But over time you'll start to remember at least TCP is 6, UDP is 17. So we have protocol numbers, but once the transport protocol gets the data it needs to send to a particular application. So we have ports that identify applications. Port numbers are 16-bit values and they typically for servers a port number which is fixed is assigned to the server, either a well-known port number or a registered port number, registered port numbers. Whereas typically for clients they get dynamic ports. Whenever the client wants to communicate with a server so the program wants to create a connection to the server or send data, the operating system assigns at that point in time a port number, an unused port number. The next time it wants to communicate it may get a different port number. So clients usually have dynamic port numbers and may change over time. Having fixed port numbers for servers makes it easy for users because the user doesn't need to specify the port number to contact. The application of the user, the client, has it programmed into it. We went through an example where we saw our web browser wanted to talk to the web server. We had IP addresses of our two computers. The transport protocol was number 6, TCP, and the web server uses the standard port 80 and the web browser in my example I assigned 50123. In a different case it may have a different value. The source computer created a packet to send. We'll see in a bit more detail in a moment, but HTTP is used for web browsing and from browser to server it sends a request for a web page. So I said HTTP request is being sent, but it's sent using TCP as the transport protocol. So we say the HTTP request is put inside a TCP segment and the TCP segment has a header. Two fields in the TCP header are the source port and the destination port. 50123 going to destination port 80. They are in the header of the TCP segment and the TCP segment is sent using IP across the internet. So we put that TCP segment inside an IP datagram. So we attach the IP header and there are multiple fields in the IP header, but the three regarding addressing are the source IP address, my host computer, the destination IP address, the server computer I want to contact and the protocol number. We know this came from TCP, so the protocol number will be 6. They are fields in the IP header. That IP datagram is sent across the internet using routing tables. Eventually gets to our destination host, delivered to the IP software in our destination host because of the IP address. IP delivers it to TCP software because of the protocol number 6 and the TCP software delivers it to the web server software because of destination port 80. So that's how the addresses are used to deliver the data from application on the client, web browser, to application on the destination, the web server. So I'll just return to some of the slides and then we'll go through one more example of web browsing. How does TCP work? We're not going to cover that. Okay, so TCP is quite complex. You've had some exposure to it during the assignment, doing some performance tests, but we don't have time in this course to cover how it works in detail. It is very common, so it's very important, because one key feature it provides is reliability. You send data from your application to the server or you're downloading from a server a file, many applications we use need reliable data transfer. If I download a file and I don't get the entire file, that's ineffective communications. So many applications use TCP because TCP tries to provide reliability. But it does some other things. For example, TCP sets up a connection before we transfer data to support the reliability first. Before we send any data, we contact the server saying, we want to transfer data to you and the server sends back a response saying, yes, you can. And there's one final acknowledgement. So there's some connections set up at the start. Once we set up a connection, we can send data in both directions, client to server, server back. There's some flow control, so the client doesn't overflow the server and same in the opposite direction. There's error control, so if I send a packet and it doesn't get to the destination, I will eventually retransmit. And that follows a go back end style scheme for the flow and error control. And there's also congestion control, which is about making sure the sender doesn't send too fast to overflow the routers in the path to cause congestion in the internet. With all these features, it becomes very complex, and that's why you saw in your assignment changing some parameters to TCP. It's sometimes hard to indicate or to predict how the parameters will impact on performance because of the interactions between the different algorithms. Again, we will not cover how it works. That will be covered in a subsequent course. That's the header structure for TCP. There are 20 bytes by default in the header. It contains a source port number, the application where it comes from, a destination port number. It contains sequence numbers with error control and flow control. We send sequence data with sequence number one. And there's an acknowledgement number saying, coming back, I've received sequence number one. The next number I expect is sequence number two. That's the concept of those numbers. And some other fields to support the operation of TCP. For this course, we just need to know that there are two port numbers included in the header. There's a method for setting up a connection. Again, we will not cover how this connection establishment works. Those that sit in the lab next semester with me, we will investigate in detail how TCP connection setups work and some other transport and application protocols. So that's it about TCP. What's the other transport protocol? TCP and the other one is, what's the other transport protocol? You did it in the assignment. UDP. Remember, TCP and UDP are the two main transport protocols. UDP is much simpler. Just send the data. UDP has a smaller header. I don't have a picture of it. But it also includes the source and destination port. So it also uses port numbers. We're almost there. If we think of our layered stack, at the bottom is the physical layer, data link layer, network layer in the middle, which is IP, transport layer, TCP, UDP, and at the top application layer. And application layers has protocols that support the many types of applications we want to use across the internet. And here I just list some. There are maybe hundreds of different protocols, maybe even thousands of application layer protocols. For web browsing, we use HTTP. For file downloads, we sometimes use FTP. Or if you want to download from multiple servers at different parts, BitTorrent is another application layer protocol. For email, there's something called SMTP for sending email between servers. For voice calls, sometimes we make an online voice call, a voice over IP call, SIP is used in some cases there. And there are many, many others here. We don't have a chance to cover those in detail. As well as applications that the human user, you and I use, there are some application layer protocols that support those others. DNS, DHCP, DHCP we briefly mentioned is for discovering an IP address. DNS is for converting domain names to IP addresses. So there are other supporting application layer protocols. So what I'll do, instead of going through these or in any detail, I'll give one last demonstration of using web browsing. We'll see HTTP. What I will do is using my computer, access a website and then we'll look at some of the details of the messages sent between my computer and the web server to see quickly how HTTP works. Before I access the website, I need to, what I'm going to do is I'm going to, with my browser, access a website, but I want to record the packets that my computer sends and receives. So the first thing I'm going to do is tell my computer to record everything that it sends and receives so we can have a look at those packets in a moment. And the software I'm using is called TCP dump. It takes a dump or a record of all the TCP and also UDP packets sent, sent using my wireless LAN interface and I'm going to write them to a file. So just record everything I send and receive so we can look at it later. Now it's recording. It doesn't show any feedback yet, but we'll see later when I do something, we'll see the packets recorded. So I'm going to access a website and I'm going to actually access the ICT server. So my web browser, what do I do to access a page, a file on the ICT server, ICT web server? What do I do in my browser? Tell me how to do, how to use a web browser. Type in what? The domain name. Alright, so what we normally do is in the address bar, we type in a URL and a URL is made up of different components. Usually it starts with HTTP, colon, slash, slash, then a domain name like www.facebook.com, that's the domain name, then usually a slash or sometimes a slash followed by a path or a file name like abc.html. So that's the URL. We don't need to use a domain name, we can use an IP address. If I know the IP address of the server I want to contact, I can type that in directly. You all use the ICT server for your quizzes on a regular basis, what's the IP address? What is the IP address of the ICT server? You've been accessing it all semester. Well, we don't want to have to remember IP addresses and that's what domain names do for us. Domain names are the human-friendly representation of an IP address. Your computer sends a packet to a destination IP address, but instead of having to remember that IP address, we just remember a domain name and then there's a separate protocol that converts that domain name into the corresponding IP address. That separate protocol is related, is DNS, the domain name system. So I'm not going to type in the domain name, even though I know it, I'm going to go to the raw format and write in the IP address. But I need to know the IP address to do that. Let me, let me show you the IP address of the ICT server. I can look it up from a database. That is, if I know the domain name, this software tells me that the domain name for ICT actually corresponds to this IP address. My computer, when it sends packets across the internet, only uses IP addresses, even though the human may type in the domain name. So I'm going to use the, directly the IP address there in my browser. And I know the file I'm looking for. I know there's a file IT.html on there. I should put HTTP at the start. For the destination address, I specify in this case the IP address of the server or alternatively the domain name. The file I want from it. I don't specify the port number of the server because my browser knows if I access a web server, the destination port will be 80. The human user doesn't have to specify port 80. We can. You can put it, the port number here, a colon 80. But we just don't because the browser automatically attaches it. And you can actually change the port number if you want. So I'm going to access, and here we go. Does it work? Okay, so we've accessed a website on the ICT server, and that triggered my browser to send a message to the multiple messages to the ICT server, identified by the 203 IP address, and I got back some responses and eventually it shows this web page. I'll stop my record of the packets. So that should have recorded some packets being sent and received then. I'll stop that. Actually, there were 27,000 packets sent and received by my computer during that time, those couple of minutes. Some of them were sent from my computer to the web server. Before we look at them, what is the web page? If we look at the source, some HTML, very simple HTML. But note that the source HTML references an image. There's an image tag that says the source of that image file is finished.jpeg. That's why the image is displayed. What actually happens is that I requested it.html. When that web page was sent back to my browser, the browser looked through the HTML and found that there's a reference to the finished jpeg. So my browser then asked to download that image from the server as well. So it actually should have downloaded two files, the HTML file and the image file. To see that, let's look at our capture of packets. So I recorded all the packets. I'm going to use a software called Wireshark that gives us a nice graphical interface to look at those packets. And it's a bit hard to see because there are 27,000, but we'll try and zoom in on some of the packets first. What it shows of the 27,000 packets sent and received by my computer, it shows them one per line. It shows the source address of each, the destination, some protocol being used and some other information. I want to focus on just the web browsing packets. So I'm going to actually do a filter so that I can get the packets of interest. First, the IP address, the IP dot, the IP address that I want to look for was this 203 address. I don't want others. What my computer may have been doing in the background is I had another web browser open, it may have been accessing other websites, maybe the operating system was doing an update and other things, maybe my instant messaging client was sending messages. So there are many other packets we don't want to look at. So I'm going to filter out and first look at the ones for accessing that particular web server. We can zoom in on some of those. So here are the ones between my laptop and the web server. My laptop is <IP_ADDRESS> and the web server is 203 IP address. The one of interest with respect to web browsing is this packet selected. We'll zoom in on the details shortly but it's sent from my computer to the web server and the protocol being used is HTTP web browsing. And some summary information about that is that the message being sent, the format is my browser is saying I want to get the file called it.html. We typed in the URL with it.html so my browser sends a request for that file to the server. And then a couple of messages down, we see the server sending something back to my browser saying everything is okay. And importantly if I look at that individual packet, I zoom in on that particular one, the contents of that one packet contain the web page. So we see the data inside that packet was the actual web page of it.html. So that's it. That's the basics of HTTP. Your browser sends a request for a file, the server if it has that file sends back a message saying everything is okay and here is the file. In this case the HTML. So HTTP is a request response protocol. Send a request, get a response. The other thing we'll notice in this exchange of packets and I'll do another filter and just show HTTP. If I filter and just show the HTTP packets, we see I send a request for it.html, the server sends back the web page in the response. Then I send another request for finish.jpeg. Why? Because that web page I received prior to that referenced an image. So my browser automatically requests the image and then the server sends back the image in the response. And then it's displayed on my browser. My browser requested another file. What's this one? Well, where do you see this? So the favorites icon, in the tab in the window of your browser that little icon that's shown up there is the favorites icon. In your bookmarks or list of favorites, an icon shows up. Well, how do you get that? Your browser automatically requests the favorites icon. It's a special file that servers can have. If a server has it, it sends it back and I see the icon on the browser. Here it is, ICT is our favorites icon for the ICT server. So that's automatically done with some browsers. We'll automatically request it and show it. So web browsing, for every resource we want, usually a file, we send a request for it and it comes back in the response if everything works normal. Let's look at the request. What protocols were involved in sending this request? At the topmost layer, and it's sort of upside down in Wireshark, but in our topmost layer is HTTP. That is sent using the transport layer TCP. Source port was 48677, assigned by my operating system to my browser. Destination port was that for the web server. That is sent using the network layer protocol IP, the internet protocol. Source address is my IP, destination is that of the server. And that was sent using Ethernet across the LAN. Wireshark calls it Ethernet too, but in fact Wireshark interprets both Wi-Fi and a wired LAN as Ethernet. I actually use Wi-Fi to send it, but Wireshark calls it Ethernet or Ethernet too because they're very similar in formats. And that includes my hardware or MAC address as the source address. And in the response, we look at the response again. Again, it's an Ethernet frame, inside that is an IP datagram, inside that is a TCP segment, inside that is our HTTP message includes some data in this case, which is the web page that's coming back. The HTTP message includes some header fields as well. The date when the server sent this, some time stamp, the type of the web server that sent it, the length of the web page and some other parameters regarding the web server and the access. Any questions on HTTP? That's our as fast as possible introduction to HTTP, one application layer protocol. Everything all right at the back? Then what we'll do is we'll finish that homework example that you've been working on, which also refers to HTTP. And for this course, we're not going through the details of TCP, but be aware of port numbers. We've got some examples of using port numbers to identify applications. Similar, we're not going through the details of all the application protocols, but I think it's useful to know that HTTP involves sending a request for a resource, sending back that resource in the response. And it uses TCP as the transport protocol.


Hi, I'm here to talk to you about seaburn defense. Every year during base exercises, hundreds of airmen are handed kill cards for incorrectly donning their individual protective equipment in a timely manner. When mission-oriented protective postures are elevated, military personnel have only minutes to don the proper IPE. With your help, we can empower airmen to change from mop level zero to mop level two in six minutes or less, and from mop level two to mop level four in two minutes or less. Really? All this gear? This looks difficult to put on. Have no fear, airmen, because that is exactly what I'm here today to explain. In the event of chemical warfare, where gases are involved, the very first thing you want to put on is your protective mask. First, make sure you have your mask carrier with you. If you have any glasses or contacts, remove them before donning the mask, and don't forget to let your hair down. To start, remove your mask from the carrier. Be sure to close the dust flap. Place your chin in the mask.  Make sure it's as far down as it can go. Lastly, tighten the chin straps, and you're done. That wasn't so bad was it? Okay, that's enough air. Put it back on. Now that we've got the most important step out of the way, let's move on to our other protective gear. The chemical protective overgarment. First, down the trousers. Make sure you place the suspenders over your shoulders as well and adjust the waistband as needed. Next, down the coat. Be sure to connect the retention cord at the bottom of the coat with the button at the bottom of the trousers, and tie the cord you have left over into a bow. Good job. Next up, we need to down the hood. First, pull the hood over the top of your mask. Make sure the coat is completely sealed from the front. You may need a buddy for this. Remember, keep your hands on the mask when adjusting, and make sure the velcro is fastened all the way. And snap the barrel locks together. Now for the best part, boots. May want to wrap a plastic bag around your boots to save your sanity. Be sure you button up the front as you put them on. Wrap the velcro strap around the leg cuffs to ensure maximum protection. Last but not least, you need gloves. Be sure to put the white cloth gloves on first, followed by the black rubber glove. Tighten your cuff, and you're good to go. Now remember, no matter which mop level you're in, you'll need to wear your body armor, helmet, and your mask carrier. And you're done. This gear may take some time to put on at first, but with enough practice, you should be able to go from mop zero to mop four in eight minutes. Each level of mop has different guidelines for what level of protection to wear. In mop one, you don the suit, and in mop two, you put on your boots. In mop three, you put on your mask, and in mop four, you put on your gloves. Just remember, suits, boots, mask, gloves. For more information on mop gear and other hazards, contact your local emergency management office. With your help, we can save airmen from the perils of incorrectly donned mop gear. Now for the best part, boots.


Celebrated police officer Abba Kiari suspended as force investigations or investigates allegations of bribery against him. This brings the many allegations of police corruption and brutality in Nigeria. We'll find out how to truly reform the police force. Also coming up on the breakfast is a review of the ward congresses of the all progressives congress APC that took place across the country. We'll have multiple reports of violence and parallel party structures. Plus the association of resident doctors to begin another strike today. The complaints aren't new, but the doctors say they are tired of being ignored. We'll say good morning and welcome to the breakfast on Plus TV Africa. First Monday, the month of August. We hope that it's going to be a beautiful week. Welcome back to Annetta, Felix. Good morning.  It's great to be back on the breakfast. It's been quite an eventful week in Nigeria. Oh my God, it's so much. Look at what's happening to Abba Kiari, the Hosh Poppy case, the whole investigation.  So why do we keep still seeing them? They had given an ultimatum for over 100 days and they had to wait until, you know, the president of the National Association of Resident Doctors made that declaration in Abba on Saturday. And we also have, you know, that very important issue that we'll be discussing later on on the breakfast. Absolutely. It's going to be a very interesting morning. And so we're going to, you know, definitely have these conversations, you know, and also a mix of a little bit of sports and Nigeria's fate at the Olympics. So let's see how it goes. All right. Let's kick off with our first top trending story. You mentioned the Olympics. We know that when Tobiyama saw 23-year-old qualified for the Tokyo Olympics, she made it through some stages. We're very happy. Like, she was one of the first women to do so after Gloria Anoze. But the sad thing now is that she has crashed out. And when we took a look at the table, we saw that there was no medal for Nigeria at Tokyo 2020. Tobiyama saw eventually finished fourth place in the 100-meter hurdle. That was the closest Nigeria got to a medal. We saw that athletes from Puerto Rico, from US, Jamaica finished in top three in that order. But we'll still take a look at how Nigeria is performing in those games. You'll see that Adigoke didn't compete the 100-meter final as, you know, due to injury made them stop midway. And a women's basketball team is out. We lost out to Japan this morning. But we still have some hopes anyway. We have Blessin there who's still competing in the women's freestyle. 68 KJ wrestling. Esa Brome is also there who will be taking part in the women's long jump final tomorrow. And also Ayamedi Imano Bella who's taking part in the women's K-No sprints. But I don't know how you would say it. Some people would think, you know, this is just disappointing for Nigeria.  But what do you really think about what Nigeria's status currently is when we look at the global games? So, personally, you know, for those who are disappointed, I'm shocked that they are disappointed. I'm not sure what we exactly expected.  These countries and these people that you're speaking about that have won, Jamaica has blown away athletics. The lady in the cameraman named now the swimmer, you know, has currently now has 10 Olympic medals, you know, and that is because of preparation and because they have federations, athletics federations, they have, you know, sports ministries in their countries that actually create a space for them to prepare. And it built up to the, I always want to say elections, it built up to the Olympics, how many, you know, of these athletes, how many of these Nigerian athletes in every single sport did any Nigerian look at and say, oh, this is definitely one of, you know, the medal hopefuls? None. There's absolutely none. Let's say, you know, Calgary maybe was one of the people that was always in the news somehow, some way, but she is the only person, you know, any other name that you mentioned now, a lot of Nigerians, I can vouch, I can say that a lot of Nigerians, you know, I hear some of these things for the first time. You know, they didn't know that they were even in the Olympics in any of these sports. How many Nigerians knew that Ayame de Manuel is going to be in Canoe Sprint? How many? Did any other person know about these people? So it's not disappointing. You know, I already expected it to play out this way. And so I'm only just, you know, seeing things play out exactly the way that I already imagined that it would play out.  Our athletics, you know, the Ministry of Sports in Nigeria has a lot of questions to answer. You mentioned the protest, you know, and I'm sure that, you know, at the end of the Olympics, they're going to come back home and carry the same attitude to the next Olympics. There's not going to be any actual questions asked as to what really happened to Nigerian Olympics in the preparation to the Olympics.  Look at how embarrassing that is. So is it the athletes' fault? Is it the sports ministry's fault? Who didn't know that they should have been testing these athletes, you know, in the build-up to the Olympics? So for me, not disappointing in any way. This was exactly the way that I thought that things would play out. It's just really, you know, maybe a little bit embarrassing, you know, but because I already expected it, then I wouldn't feel that much. But for every single sport, plus basketball, football, we're not even there. Basketball only became popular a couple of weeks ago because of the victory against USA and Argentina, but we eventually got into the Olympics. I felt bad for them that they couldn't at least win one game. For the athletics, I felt bad for them also. Divan Lodudu got disqualified very unfairly. Desiree Okadbury was sent home because of, you know, failed drug tests. Some other person, the guy who had a hamstring injury, some other person I remember also didn't make it far in the spot that they were competing in. So if you don't plan and you don't prepare and you don't have, you know, actual facilities to put yourself in that place, then there's really nothing much that you're going to expect to achieve in any of the Olympics. And even if Nigeria qualified in football, I'm very sure that we wouldn't have gone past any stage. And this is not me, you know, speaking bad or negative against the teams, but it is purely about preparation and what next? So what does Sunday Dairy then do? What questions must be asked concerning our performance at the Olympics? I mean, what next for him? What next for every other person who is in charge of these different segments of Nigeria sports? Nothing. And you can tell that nothing's going to happen. We're going to come back home and move on. You really did hit the nail on the head when you talked about preparation because when we saw athletes qualify for the next stage at the Tokyo Olympics and were interviewed, you hear them talking about how they've been preparing years ago. Way, way, way. Even before they even mentioned which country was going to host or any of all those fine technical details, countries and athletes had been preparing years ago. But you ask yourself, really, how long ago did Nigeria really get into that zone that they were going to compete? And these are even for the individual athletes themselves who want to put themselves out there, represent their motherland. And it really just questions that we need to ask regarding Nigeria sports ministry. If we're having millions and millions of men being budgeted, what exactly is the result? What is there to show for? Because if a giant of Africa, suppose a giant of Africa, you know, is not competing at the Olympic Games or not winning medals, what really is our bragging rights? Do we even have any? It is mostly also going to be a lot of individual efforts if you look at some of these athletes. And, you know, every now and then we have a Nigerian who, I think it was one who decided to compete for Ghana instead of Nigeria. I don't remember the person's name now, but I saw that story a couple of days ago of a Nigerian who, of course, was going to be competing for Ghana. If you look at the long history of Nigeria and choosing a different country from Belgium to the Netherlands to the USA to Britain, many of them, it's really because of what they've experienced while trying to give the absolute best to Nigeria sports. It's not because they are lazy. They have put in as much effort as possible, but they've also seen that, you know, you're not getting any support or as much support as you should get from the sports ministry. We've had this tennis player, I keep forgetting names, the guy who's played tennis for almost 100 years now. There's not been anybody who's been able to come up, you know, from the whole of the Nigerian, 200 million people to come up to get into that space also and be another shining light that we should look out for with regards to Nigerian tennis. There's no other person. Same thing with athletics. All these young people, you know, running across Lagos traffic selling Gala and the ones that we make jokes of every now and then, there's so much talent in Nigeria. It's painful because there's so, so much talent in Nigeria, but you keep hearing these same names. I'm sure that there's a lot of people who can run faster than, let's not carry it again. I give her all the credit that she deserves because she's walked too hard for this. There's so many other young Nigerians, I believe, that can run as fast as she can or even run faster, but you know, there's no effort, you know, from the ministry of sports to grow these talents or to give them a space that they can thrive. So I'm not sure what is surprising that we didn't do well in the Olympics. There's absolutely nothing surprising. We went there, we displayed exactly what Nigeria is and then we came back home. That's it. Pretty simple. Let's turn now to politics. We know Pastor Chandibakery is very vocal about his political views, and this time around, he's been talking about the state of insecurity in Nigeria and, of course, putting President Mohammed Buhari in that mix. We have that video for you. I'm not pitching you against anybody that don't control your PBC. But if the reason for voting PDP out is because of insecurity and corruption, and now it's worse, in fact, other to it is banditry, kidnapping or by equity. About three of them have been kidnapped. One was killed on his throne, asking for ransom. Come on. Come on. Come on. Except God is an unjust God.  This is why we are crying out so that before it is too late, Mohammed Buhari can think. We are his thinking cap. I think of legacy and rise up and fold his hand. I said this will not be my legacy. Okay. Pastor Chandibakery there saying President Mohammed Buhari still has a chance to correct his legacy. But if he hasn't done that in the past how many years, we have less than two years to the next elections. Just how much can he achieve? That's the only question I have. Well, it brings me back to mention to talking about why Nandra politicians are so concerned about legacy. Your legacy is just government. Do the things that people want to go. What actual legacy? You see state governors spending four years wasting time and then the next four years they start to look for something called legacy project. But funny enough, it's weird that they talk about legacy projects towards the end of their tunnel. Not realizing that you started building your legacy from the day from the very first day. Exactly, so that's why I started with that.  What do you have to achieve in the next two years?  That's another one. The third one is at what point they say is when you wake up that is your good morning.  But at what point Pastor Chandibakery wake up and start making these statements. And at what point when we say things like oh it's getting too much. First of all, Sheikh Ahmad Ghumi there's a video clip, I just don't know we never got to share that. There's a video from Sheikh Ahmad Ghumi saying about the same thing that if you criticize Jonathan for insecurity and you actually resign then you should do the same thing for President Mohammed Bawari. At what point did it become too much? It's a question that I always ask Nigerians. When I see statements on social media saying oh it's insecurity and I'm getting too much. Or the misrule or the mismanagement comes and I'm getting too much. At what point did it become too much? When it hit home, when it got closer to you, when you saw a story that maybe was close to where you live or somewhere near your village. It has been too much for a long time. It has been too much for the shiites since 2015. It has been too much for the people in Benway State since 2016. It's been too much for a very, very long time. When does it become too much for Bawari? It should have been a problem right from the Rand bombing in 2015 or 2016 when the Air Force misfired and killed 150 people. It had been too much from that point. 87 people were killed in Benway State in 2016, 2017. It was too much then. So it's not getting too much now. Let's not, you know, Tunibakari should have been speaking about these things way back. It's not in 2021 that it became too much. It has become a challenge in 2021 when we are two years to go to the elections. We're now speaking about Andrea from Nigeria Group. For me, I don't agree. But yes, when you wake up is your morning, I get that. But it has been too much for a very, very long time. And every single life that has been lost, to bandits, to kidnappers, to Aishwab, to Boko Haram, it had been too much for all of those families for the longest time. And it's not obviously the government and the likes. But if you're talking about the current administration, that's when it started. And it has been too much from the very first time that dozens of people were killed and the government refused to pay attention to them. From the very first time that 100 people were murdered in their sleep and the Nigerian government failed to even address or speak about it. And the president is in a different country or refuses to speak to the press or refuses to actually take action. It has been too much from then, even Amad Gumi said it in the video clip that, oh, you know, the number of people who have died in this administration is way more than the ones who died in Gula Jonathan's administration, according to him. But it's not a death Olympics. We're not looking to compete with numbers now. Oh, 2,000 people died here, but now it's 2,500. That's not the challenge here. Every single Nigerian life that has been lost since the very first day that the president took over has been too much from that point, even if it's one person, 10 people, 5 people. Every single Nigerian that his life was lost because of the high handers of the police that they failed to address from way back. It has been too much from that point. Every single person who lost their lives to kidnappers because the police refused to investigate or suddenly, you know, couldn't get themselves to rescue those people.  They've had to sell property, they have gotten themselves in debt to pay those ransom and get their kids back. It's been too much from that point. It didn't start being too much last Sunday, Pastor Bakari. With all due respect to him, and I understand once again, when you wake up, that's your morning, but it didn't start last two weeks, it didn't start on Sunday. All of this, and this is one of the reasons a lot of people look at these things and say, oh, this is actually just politicking, because you should have started speaking from day one when these things affected you, and it doesn't have to affect you directly before it becomes a problem. If 347 Nigerians, as I always mentioned, 347 Shiites could be murdered, and Nigeria moves on from that, and that's it. That's the end of that case. Nobody's investigated for failing to adhere to a tactic in combat and the rules of engagement in the army, and that's what led to that. In two days in Zaria, what are we talking about? When did it become too much really for every single Nigerian? It should have been too much then. I don't have to be a Shiite, I don't have to be from Benio, I don't have to be from Zamfara or Katsina, for me to understand that those 11 lives that haven't gotten justice till now, five, six years after, they deserve justice, and it was too much at that point, not last week's Sunday. We'll be taking a look at the community, culturally, in public affairs, and a list to stay with us.