What do these abbreviations mean?

It’s a cabled dishcloth pattern:
http://freepatterns.k1p1keepingyouinstitchesstudio.com/cwe.html

Here’s the main pattern:
Row 1: (right side) B4, P1, k2tog, yfrn,p2, k4, p2, k2tog, yfrn P1, B4.
Row 2: B4, K1, p2, k2, p4, k2, p2 k1, B4
Row 3: B4, p1, yon, sl1, k1, psso, p2, C4f, p2, yon, sl1, k1, psso P1, B4
Row 4: B4, K1, p2, k2, p4, k2, p2 k1, B4
Row 5: B4, P1, k2tog, yfrn, p2, k4, p2, k2tog, yfrn P1, B4.
Row 6: B4,K1, p2, k2, p4, k2, p2 k1, B4
Row 7: B4, P1, yon, sl1, k1, psso, p2, k4, p2, yon, sl1, k1, psso, P1, B4.
Row 8: B4, K1, p2, k2, p4, k2, p2 k1, B4

What does “B” mean?
I would think yfrn means bring the yarn to the front? Why does it say that? It doesn’t say it every time you have to purl the next stitch so it must mean something extra but I don’t know what.
It doesn’t say anywhere what the *s are for.
What does “yon” mean? I’ve been knitting awhile now and none of these are familiar to me.

the “b4” is “border 4” the author gives you the option of using garter or moss stitch. it’s for stitches in the border of your choice.

yfrn = yarn forward round needle = yarnover and bring the yarn forward again to purl.

yon = yarn over needle = yarnover.

the pattern is three repeats across, so you work the beginning, work between the *'s three times, work the end.

THANK YOU!

The Why on the yarn forwards is to replace the stitches that were “lost” when you knit 2 together. You should end up with the same number of stitches for each row.

Yeah, I get it now that I know what it means. I thought it just meant to bring the yarn forward, as opposed to an increase. Couldn’t figure out why they were telling me to bring the yarn forward to purl in one place but not another. Thanks!